任何人都能解释一下以下含义吗?
for value1,value2 in List1:
do_something()
我理解
for x1 in List2:
do_something()
此处针对List2
进行迭代,x1
引用List2
中的每个项目,但我不知道第一个项目的内容。
答案 0 :(得分:4)
就像
一样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
。
答案 1 :(得分:2)
第一个做sequence unpacking。也可以正常分配:
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是一个iterable,它只包含3个项目的元素(主要是元组),例如
[(1, 2, 3), (5, 4, 3), etc.]