gpt4 book ai didi

python - 在 Python 中将唯一列表改造成另一种类型的列表

转载 作者:行者123 更新时间:2023-12-04 10:15:27 26 4
gpt4 key购买 nike

Stackoverflow,你好,

我有一个非常紧张的问题,我现在几个小时都无法解决。

任务是:

我有一个 list :

['Egg', 'Milk', 'Tomato', '_', 'Duck', 'Water', 'Honey', 'Soy', '_', 'Potato', 'Garlic', 'Gouda', '_', 'Beef', 'Sweet', 'Pita', 'Wine', 'Tomato']

我需要将其转换为新的,其中“_”之间的所有成分都将作为一个元素:
a= [['Egg', 'Milk', 'Tomato'], ['Duck', 'Water', 'Honey', 'Soy'], ['Potato', 'Garlic', 'Gouda'], ['Beef', 'Sweet', 'Pita', 'Wine', 'Tomato']] .

然而,这里的困难部分是我可能在初始列表中有更多的“小列表”。
例如,在最后一个 'Tomato' 之后,它也可以是一个 '_',然后 - ext 一些像 ['Bread', 'Milk', 'Egg'] 这样的成分, 例如。

初始列表可能如下所示:
['Egg', 'Milk', 'Tomato', '_', 'Duck', 'Water', 'Honey', 'Soy', '_', 'Potato', 'Garlic', 'Gouda', '_', 'Beef', 'Sweet', 'Pita', 'Wine', 'Tomato', '_', 'Bread', 'Milk', 'Egg']

所以我发现我不能手动制作 4 个不同的列表,然后加入它们,因为大列表中可能有 5 个或更多列表,用“_”分隔。我必须做点别的。但我所得到的只是错误的东西:
for elem in ingridient_names:
i=1
if elem != '_':
ingridient_names_final[i].append(elem)
print(ingridient_names_final)

有人可以帮忙吗?

最佳答案

另一种解决方案是将列表转换为允许您使用 split 的字符串。方法。可能不是很快,但它是单线的 ;-)

[i.split (',') for i in ','.join (l).split (',_,')]

哪里 l是你的初始 list

关于python - 在 Python 中将唯一列表改造成另一种类型的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61081505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com