我偶然发现以下代码:
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’位,并且在Google上搜索有关’for’的信息是一种痛苦,当我尝试使用该代码尝试时,我得到了错误:
ValueError:需要多个值才能解压
ValueError
有谁知道它的作用或与之有关的事情,可以通过谷歌了解更多信息吗?
你可以通过Google搜索“元组拆箱”。可以在Python的各个地方使用它。最简单的是分配
>>> x = (1,2) >>> a, b = x >>> a 1 >>> b 2
在for循环中,其工作原理类似。如果iterable的每个元素都是一个元组,则可以指定两个变量,循环中的每个元素都将解压缩为这两个元素。
>>> x = [(1,2), (3,4), (5,6)] >>> for item in x: ... print "A tuple", item A tuple (1, 2) A tuple (3, 4) A tuple (5, 6) >>> for a, b in x: ... print "First", a, "then", b First 1 then 2 First 3 then 4 First 5 then 6
枚举函数创建一个可迭代的元组,因此可以通过这种方式使用。