Znaczenie używania przecinków i podkreśleń z operatorem przypisania Pythona?
Czytanie przez Petera NorvigaRozwiązywanie każdego eseju w Sudoku, Spotkałem kilka idiomów Pythona, których nigdy wcześniej nie widziałem.
Wiem, że funkcja może zwrócić krotkę / listę wartości, w którym to przypadku można przypisać wiele zmiennych do wyników, takich jak
def f():
return 1,2
a, b = f()
Ale jakie jest znaczenie każdego z poniższych?
d2, = values[s] ## values[s] is a string and at this point len(values[s]) is 1
Jeślilen(values[s]) == 1
, jak to jest inaczej niżd2 = values[s]
?
Kolejne pytanie o użycie podkreślenia w przypisaniu tutaj:
_,s = min((len(values[s]), s) for s in squares if len(values[s]) > 1)
Czy podkreślenie powoduje odrzucenie pierwszej wartości zwróconej na liście?