Bedeutung der Verwendung von Kommas und Unterstrichen mit Python-Zuweisungsoperator?

Lesen durch Peter NorvigsLösen Sie jeden Sudoku-Puzzle-AufsatzIch habe ein paar Python-Redewendungen kennengelernt, die ich noch nie gesehen habe.

Mir ist bekannt, dass eine Funktion ein Tupel / eine Liste von Werten zurückgeben kann. In diesem Fall können Sie den Ergebnissen mehrere Variablen zuweisen, z

def f():
    return 1,2

a, b = f()

Aber was ist die Bedeutung von jedem der folgenden Punkte?

d2, = values[s]  ## values[s] is a string and at this point len(values[s]) is 1

Oblen(values[s]) == 1, wie unterscheidet sich diese Aussage dann vond2 = values[s]?

Eine weitere Frage zur Verwendung eines Unterstrichs in der Zuweisung hier:

_,s = min((len(values[s]), s) for s in squares if len(values[s]) > 1)

Hat der Unterstrich den Effekt, dass der erste in der Liste zurückgegebene Wert im Grunde genommen verworfen wird?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage