通过Peter Norvig的Solving Every Sudoku Puzzle essay阅读,我遇到了一些我以前从未见过的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)
是否有下划线的基本丢弃在列表中返回的第一个值的效果?
所以“B = T”的手段从那个元组的第一个元素?它是'b = T [0]'的同义词吗?我需要更多的例子或更少罗嗦的解释^^ – Sherlock70 2016-02-25 15:26:17
是的,这是相同的结果 – eduffy 2016-02-25 15:31:49