阅读 Peter Norvig 的解决每个数独难题的文章,我遇到了一些我以前从未见过的 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)
下划线是否有基本丢弃列表中返回的第一个值的效果?