Python-元组在for循环中解包
我偶然发现以下代码:
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
:需要多个值才能解压
有谁知道它的作用或与之有关的事情,可以通过谷歌了解更多信息吗?
回答:
你可以通过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
枚举函数创建一个可迭代的元组,因此可以通过这种方式使用。
以上是 Python-元组在for循环中解包 的全部内容, 来源链接: utcz.com/qa/428870.html