关键词:
双变量循环
enumerate函数
1、双变量循环
python支持双变量循环(最多也只能支持双变量)。双变量的意思不是双重循环,而是在对应的list中有两个可以循环的参数。
input:
display_list_listed_modified = [
[1,[2,3]],
[4,[5,6]],
[7,[8,9]],
]
print display_list_listed_modified
for i,j in display_list_listed_modified:
print i,j
output:
[[1, [2, 3]], [4, [5, 6]], [7, [8, 9]]]
1 [2, 3]
4 [5, 6]
7 [8, 9]
可以看到,双变量循环对应的是三维的列表。如果尝试用二维的列表循环就会报错
input:
display_list = [
[1,2,3],
[4,5,6],
[7,8,9],
]
for i,j in display_list :
print i,j
output:
ValueError: too many values to unpack
有意思的是,如果列表的维度是三维的,双循环变量也可以正常工作:
input:
display_list = [
[1,[2,[3,4]]],
[5,[6,[7,8]]],
[9,[10,[11,12]]],
]
for i,j in display_list :
print i,j
output:
1 [2, [3, 4]]
5 [6, [7, 8]]
9 [10, [11, 12]]
但如果希望用三循环变量就会报错:
ValueError: need more than 2 values to unpack
2、enumerate函数
enumerate把一个二维的列表变成三维的,多出的那一个维度是第i行
input:
display_list = [
[1,2,3],
[4,5,6],
[7,8,9],
]
for i,j in enumerate(display_list) :
print i,j
output:
0 [1, 2, 3]
1 [4, 5, 6]
2 [7, 8, 9]
领取专属 10元无门槛券
私享最新 技术干货