python 单行相当于下面的代码是什么?
l=[]
for i in range(3,5) :
if i==3:
for j in range(0,2):
if i%2:
l.append(i*j)
else:
l.append(i+j)
else:
l.append(i)
print(l)
我尝试对嵌套循环使用单行,但只有一个条件是这样的:
print([i*j if i%2 else i+j for i in range(3,5) for j in range(0,2)])
注意:在这里,我想学习如何在两个循环中使用 if else 条件对嵌套循环使用单行等效项。另外,如果不可能,请说明为什么不!
提前致谢 :)
原文由 Trifrost master 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以将内部部分转换为一系列列表:
在一般情况下,展开 2D 可迭代对象很容易:
结合两者:
您可以使用生成器避免存储中间列表: