Python列表推导式(两个for循环)

1. 生成一个1~20的列表a

In [1]: a = [x for x in range(1,21)]

In [2]: a
Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

2. 将列表a分组,变形为嵌套列表b

In [3]: b = [a[x:x+3] for x in range(0,len(a),3)]

In [4]: b
Out[4]:
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20]]

3. 列表b分组取消,得到列表c(即列表a)

In [5]: c = [i for j in b for i in j]

In [6]: c
Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

计算顺序:

Python列表推导式(两个for循环)_第1张图片

你可能感兴趣的:(Python)