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' это также может быть '_', а после этого - например, несколько таких компонентов, как ['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)
Может кто-нибудь помочь, пожалуйста?