python如何将for循环的每个实例输出为嵌套列表,列表中的列表
我有一个代码,检查范围内的数字是偶数还是奇数,并分别对它们执行操作。它将操作结果附加到列表中。但是,我试图将for循环的每个实例作为一个单独的列表附加到一个列表中。如何修改代码以实现此目的python如何将for循环的每个实例输出为嵌套列表,列表中的列表,python,Python,我有一个代码,检查范围内的数字是偶数还是奇数,并分别对它们执行操作。它将操作结果附加到列表中。但是,我试图将for循环的每个实例作为一个单独的列表附加到一个列表中。如何修改代码以实现此目的 series = [] for i in range(13, -0, -1): while i > 1: if i % 2 == 0: i = i//2 series.append(i) else:
series = []
for i in range(13, -0, -1):
while i > 1:
if i % 2 == 0:
i = i//2
series.append(i)
else:
i = i*3+1
series.append(i)
print(series)
您需要在for之后定义内部列表,以便在每次迭代时获得一个新列表,然后将其保存在序列中 您可能希望使用类似dict的命令保持与导致此列表的值的对应关系
series = {}
for i in range(13, -0, -1):
keep_i = i
inner = []
while i > 1:
if i % 2 == 0:
i = i // 2
inner.append(i)
else:
i = i * 3 + 1
inner.append(i)
series[keep_i] = list(inner)
{13: [40, 20,...], 12: [6, 3,...],...}
您只需在每个i like so:series上添加[]。追加[i]:
结果将是序列列表/字典中的内部列表。在序列列表/字典中只有一个项目内部列表,因为无论条件如何,我都会被附加到内部列表中。也许应该有两份清单。不确定。@AchuthVarghese从读取for循环的每个实例作为一个单独的列表,所以每次运行都应该放在一个单独的列表中,这并不是说if/else,只是for的每次运行都在一个列表中谢谢,但您的示例是for while循环,我需要for循环。阿兹罗做对了。请继续贡献,欢迎!
series = {}
for i in range(13, -0, -1):
keep_i = i
inner = []
while i > 1:
if i % 2 == 0:
i = i // 2
inner.append(i)
else:
i = i * 3 + 1
inner.append(i)
series[keep_i] = list(inner)
{13: [40, 20,...], 12: [6, 3,...],...}
series = []
for i in range(13, -0, -1):
while i > 1:
if i % 2 == 0:
i = i//2
series.append([i])
else:
i = i*3+1
series.append([i])
print(series)