了解"for value1,value2 in xx"



有人能解释一下下面的意思吗?

for value1,value2 in List1:
           do_something()

我知道

for x1 in List2:
        do_something()

这里的for在List2x1上迭代是对List2中的每个项的引用,但我不知道第一个项的作用。

就像

for x in seq:

seq上迭代,并将每个元素分配给x

for a, b in seq:

将在CCD_ 6上迭代并将每个元素分配给CCD_。它相当于

for x in seq:
    a, b = x

a, b = x做什么?好吧,这是序列拆包。Python将尝试将x视为一个2元素序列,并将x的元素分配给ab

第一个执行序列拆包。在正常分配中也有可能:

mylist = [1, 2, 3]
a, b, c = mylist

将列表的元素分配给变量abc

同样的道理也在循环中起作用。

for x in iterable:
    a, b, c = x

可以缩短为

for a, b, c in iterable:
    ...

如果iterable是一个只包含3个项的元素(主要是元组)的iterable,例如

[(1, 2, 3), (5, 4, 3), etc.]

最新更新