谁能解释一下下面的意思?
for value1,value2 in List1:
do_something()
我明白那个
for x1 in List2:
do_something()
这里 for 迭代List2
并x1
引用 中的每个项目List2
,但我不明白第一个项目的作用。
就像
for x in seq:
迭代seq
并将每个元素分配给x
,
for a, b in seq:
将迭代seq
并将每个元素分配给a, b
. 相当于
for x in seq:
a, b = x
做什么a, b = x
?嗯,这是序列解包。Python 将尝试将其x
视为 2 元素序列并将元素分配x
给a
和b
。
第一个做序列解包。也可以进行正常分配:
mylist = [1, 2, 3]
a, b, c = mylist
将列表的元素分配给变量a
和。b
c
在循环中也同样有效。
for x in iterable:
a, b, c = x
可以缩短为
for a, b, c in iterable:
...
如果 iterable 是一个仅包含 3 个项目的元素(主要是元组)的可迭代对象,例如
[(1, 2, 3), (5, 4, 3), etc.]