如何使用简单的列表推导式(不使用任何新模块或字典)得到以下输出:
[1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
这里,在每个 1
之间的 0
的数量从 0 增加到 10 倍。
在不使用列表推导式的情况下,我使用简单的 for 循环得出了输出结果:
for i in range(12):
if i==0:
print(1, end=", ")
else:
for j in range(i):
if i==j+1:
print(1, end=", ")
else:
print(0, end=", ")
我想看看这些循环如何转换为列表推导式
list(itertools.chain.from_iterable([0] * i + [1] for i in range(-1, n)))
- Kelly Bundy[0]*-1
,但我想知道它是否可能在未来出现问题。如果你不介意的话,我会把它加到答案里。 - Nick