我偶然发现了以下代码:
for i, a in enumerate(attributes):
labels.append(Label(root, text = a, justify = LEFT).grid(sticky = W))
e = Entry(root)
e.grid(column=1, row=i)
entries.append(e)
entries[i].insert(INSERT,"text to insert")
我不明白 i, a
位,并且搜索有关 for
的信息没有产生任何有用的结果。当我尝试使用代码进行试验时,出现错误:
ValueError:需要超过 1 个值才能解包
有谁知道它的作用,或者与它相关的更具体的术语,我可以谷歌了解更多信息?
原文由 Talisin 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以谷歌 “元组拆包” 。这可以在 Python 的各个地方使用。最简单的是赋值:
在 for 循环中,它的工作方式类似。如果iterable的每个元素都是a
tuple
,那么你可以指定两个变量,循环中的每个元素都会被解包为两个。enumerate
函数创建一个可迭代的元组,因此可以这样使用。