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

回到顶部