Смысл использования запятых и подчеркивания с оператором присваивания Python?
Чтение через Питера НорвигаРешение каждого эссе о головоломке судокуЯ столкнулся с несколькими идиомами Python, которые никогда не видел раньше.
Я знаю, что функция может возвращать кортеж / список значений, и в этом случае вы можете назначить несколько переменных для результатов, таких как
def f():
return 1,2
a, b = f()
Но в чем смысл каждого из следующих?
d2, = values[s] ## values[s] is a string and at this point len(values[s]) is 1
Еслиlen(values[s]) == 1
тогда чем это утверждение отличается отd2 = values[s]
?
Еще один вопрос об использовании подчеркивания в задании здесь:
_,s = min((len(values[s]), s) for s in squares if len(values[s]) > 1)
Имеет ли подчеркивание эффект отбрасывания первого значения, возвращенного в списке?