Discuss / Python / 两层循环问题

两层循环问题

Topic source

onlylovechu

#1 Created at ... [Delete] [Delete and Lock User]

如果有一个为空,那么得到的结果是不是也为空 例如:

[m + n for m in [1, 2, 3] for n in []] []

yzy132d

#2 Created at ... [Delete] [Delete and Lock User]

假设[m + n for m in [1, 2, 3] for n in []]实现为: l = [] for m in [1,2,3]: for n in []: l.append(m+n) print(l)
那么for n in []该循环一次也不执行 所以l仍未[]

当然这只是基于我对列表生成器实现原理的假设

Exmlyshy

#3 Created at ... [Delete] [Delete and Lock User]

@yzy132d 列表生成式双重循环和普通双重循环并不一样

l=[1,2,3] for m in [1,2,3]: for n in []: l.append(m+n)

l [1,2,3] l=[1,2,3] l=[m + n for m in [1, 2, 3] for n in []] l []

Exmlyshy

#4 Created at ... [Delete] [Delete and Lock User]

第二个总会将[]内容赋值给l


  • 1

Reply