我遇到的问题如下,我有一个初始列表,我试图将其分成多个列表,如下所示:
['28/02/2025', '16/03/2025', '16', '14', 'directos', '1.093.026', '29/10/2024', '25/11/2024', '27', '26', 'con', '1.333.784', '28/02/2025', '16/03/2025', '16', '14', 'directos', '1.444.026', '29/10/2024', '25/11/2024', '27', '29', 'con', '1.283.784']
我想要得到这样的东西,这样我就可以更好地处理数据:
[['28/02/2025', '29/10/2024', '28/02/2025', '29/10/2024'], ['16/03/2025', '25/11/2024', '16/03/2025', '25/11/2024'], ['16', '27', '16', '27'], ['14', '26', '14', '29'], ['directos', 'con', 'directos', 'con'], ['1.093.026', '1.333.784', '1.444.026', '1.283.784']]
我所做的如下:
listota = ['28/02/2025', '16/03/2025', '16', '14', 'directos', '1.093.026', '29/10/2024', '25/11/2024', '27', '26', 'con', '1.333.784', '28/02/2025', '16/03/2025', '16', '14', 'directos', '1.444.026', '29/10/2024', '25/11/2024', '27', '29', 'con', '1.283.784']
p = 0
listas = [[] for _ in range(6)]
for i, elemento in enumerate(listota):
if p > 4:
p = 0
else:
listas[p].append(elemento)
p += 1
当我
print(listas)
时,这是输出:
[['28/02/2025', '29/10/2024', '28/02/2025', '29/10/2024'], ['16/03/2025', '25/11/2024', '16/03/2025', '25/11/2024'], ['16', '27', '16', '27'], ['14', '26', '14', '29'], ['directos', 'con', 'directos', 'con'], []]
最后一张清单,应该有价格的清单永远不会附加,我真的不知道为什么。希望有人注意到我做错了什么。
if
比较不正确。您想在 5 而不是 4 之后返回到零,并且 always 想要执行 else:
部分,因此删除 else:
行:
listota = ['28/02/2025', '16/03/2025', '16', '14', 'directos', '1.093.026', '29/10/2024', '25/11/2024', '27', '26', 'con', '1.333.784', '28/02/2025', '16/03/2025', '16', '14', 'directos', '1.444.026', '29/10/2024', '25/11/2024', '27', '29', 'con', '1.283.784']
p = 0
listas = [[] for _ in range(6)]
for i, elemento in enumerate(listota):
if p > 5: # 5 not 4.
p = 0
# remove else
listas[p].append(elemento) # unindent
p += 1 # unindent
print(listas)
输出:
[['28/02/2025', '29/10/2024', '28/02/2025', '29/10/2024'], ['16/03/2025', '25/11/2024', '16/03/2025', '25/11/2024'], ['16', '27', '16', '27'], ['14', '26', '14', '29'], ['directos', 'con', 'directos', 'con'], ['1.093.026', '1.333.784', '1.444.026', '1.283.784']]