python教程—元组解压缩for循环-Python实用宝典

python教程—元组解压缩for循环

我无意中发现了下面的代码:我不理解“I,a”位,在谷歌中搜索关于“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”位,搜索谷歌的信息“for”是一个痛苦的臀部,当我尝试和经验与代码我得到错误:

ValueError:需要多个值来解包

有谁知道它是做什么的或者和它有什么关系,我可以谷歌了解更多?

回答

你可以在“元组解压”上谷歌。这可以在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

enumerate函数创建一个元组的可迭代函数,因此可以这样使用它。

​Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典

本文由 Python实用宝典 作者:Python实用宝典 发表,其版权均为 Python实用宝典 所有,文章内容系作者个人观点,不代表 Python实用宝典 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论