【发布时间】:2010-12-15 01:31:37
【问题描述】:
阅读 Peter Norvig 的Solving Every Sudoku Puzzle essay,我遇到了一些我以前从未见过的 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)
下划线是否有基本丢弃列表中返回的第一个值的作用?
【问题讨论】:
标签: python syntax iterable-unpacking