我想了解嵌套列表理解.下面,我列出了一个列表推导表达式和它们的for循环等价物.
我想知道我的理解是否正确.
例如,
[(min([row[i] for row in rows]),max([row[i] for row in rows]))
for i in range(len(rows[0]))]
Run Code Online (Sandbox Code Playgroud)
相当于
result=[]
for i in range(len(rows[0])):
innerResult=[]
for row in rows:
innerResult.append(row[i])
innerResult2=[]
for row in rows:
innerResult2.append(row[i])
tuple=(min(innerResult), max(innerResult2))
result.append(tuple)
Run Code Online (Sandbox Code Playgroud)
如果我可以概括,我想
[exp2([exp1 for x in xSet]) for y in ySet]
Run Code Online (Sandbox Code Playgroud)
表格可以翻译成以下内容.(我希望我对此是正确的)
result=[]
for y in ySet:
innerResult =[]
for x in xSet:
innerResult.append(exp1)
exp2Result = exp2(innerResult)
result.append(exp2Result)
Run Code Online (Sandbox Code Playgroud)
对于更简单的情况,
[exp1 for x in xSet for y in ySet]
Run Code Online (Sandbox Code Playgroud)
等于
result=[]
for x in xSet: …Run Code Online (Sandbox Code Playgroud)