我正在尝试编写以下代码作为列表理解
l=[]
for x in range(1,10):
if x<5:
for j in range(1,3):
l.append(1)
else:
l.append(x**2)
print(l)
结果是
[1, 1, 1, 1, 1, 1, 1, 1, 25, 36, 49, 64, 81]
我试过了
l=[]
l=[(1 for j in range(1,3)) if x<5 else x**2 for x in range(1,10)]
print(l)
但我没有得到正确的结果。有什么想法吗?
请您参考如下方法:
由于您对不同范围的列表有不同的规则,您可以这样做:
[1 for j in range(1,3) for x in range(1,5)] + [x**2 for x in range(5,10)]
注意:永远不要忽视代码的可读性。
