我偶然发现了以下代码:
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")
Run Code Online (Sandbox Code Playgroud)
我不明白'i,a'位和搜索谷歌有关'for'的信息是一个痛苦的屁股,当我尝试和代码使用时我得到错误:
ValueError:需要多于1个值才能解压缩
有谁知道它做了什么或与它有关,我可以谷歌了解更多?
请理解,我搜索了这个,它已经有了答案.但是我正在寻找一种不同的方法来获得这个结果.这可能被标记为重复,虽然我认为这可能使用itertools (最有可能groupby)有一个更清晰的答案.
说我有一个清单data.我希望一次有3个值,假设列表是值的数量,以便最后排除不正确的值.
data = [1, 2, 3, 4, 5, 6,...]
Run Code Online (Sandbox Code Playgroud)
这是我想要遍历列表的方式(这段代码显然不起作用):
for a, b, c in data:
#perform operations
pass
Run Code Online (Sandbox Code Playgroud)
现在有了上面的代码,我想a, b, c成为1, 2, 3然后4, 5, 6分别在每个迭代.我确信那里有一个更清洁的方法,而不是我链接的答案.
对于那些不想点击链接以查看我所指的方法的懒人,这里是:
如果要通过成对的连续元素遍历列表,则可以使用切片:
Run Code Online (Sandbox Code Playgroud)>>>myList = [4, 5, 7, 23, 45, 65, 3445, 234] >>>for x,y in (myList[i:i+2] for i in range(0,len(myList),2)): print(x,y) 4 5 7 23 45 65 3445 234