Stackoverflow, привет. Я не нашел никакой информации об экспорте данных (список в моем случае) из «функции»
Конец моего кода:
def namesearch():
with open ('recipes.txt') as f:
dishnames = []
for line in f:
line = line.strip()
# print (line)
line2=line.split()
if len(line2) <= 3:
pass
try:
a=(int(line2[0])/1)
except IndexError:
pass
except ValueError:
dishnames.append(line2)
for i in dishnames:
if len(i) > 1:
j=' '.join(i)
else:
j = str(i[0])
dishnames_string.append(j)
namesearch()
def search_ingridientsnames():
with open('recipes.txt') as f:
ingridient_names = []
for line in f:
line = line.strip()
# print (line)
line2 = line.split()
try:
i=0
if len(line2) > 3 or len(line2)<1:
ingridient_names.append(line2[0])
except IndexError:
ingridient_names.append('_')
# print(ingridient_names)
ingridient_names_final=[i.split(',') for i in ','.join(ingridient_names).split(',_,')]
print(ingridient_names_final)
search_ingridientsnames()
print (dishnames_string)
print (ingridient_names_final)
Результат -
>> [['Egg', 'Milk', 'Tomato'], ['Duck', 'Water', 'Honey', 'Soy'], ['Potato', 'Garlic', 'Gouda'], ['Beef', 'Sweet', 'Pita', 'Wine', 'Tomato']]
>> ['Omelette', 'Peking Duck', 'Baked potato', 'Fajitos']
[]
Вы это видите? Первый print(ingridient_names_final)
в конце функции - запись списка из функции и все в порядке. Как видите, у меня есть другое значение из функции, print (dishnames_string)
, которое также является частью функции - результатом работы является список. Однако, когда я снова печатаю значение из функции print (search_ingridientsnames)
- результат равен []. И я даже не могу написать print (list (search_ingridientsnames)) - результат - ошибка. Как я могу получить тот же результат при запуске функции?
Результат должен быть:
>> [['Egg', 'Milk', 'Tomato'], ['Duck', 'Water', 'Honey', 'Soy'], ['Potato', 'Garlic', 'Gouda'], ['Beef', 'Sweet', 'Pita', 'Wine', 'Tomato']]
>> ['Omelette', 'Peking Duck', 'Baked potato', 'Fajitos']
>> [['Egg', 'Milk', 'Tomato'], ['Duck', 'Water', 'Honey', 'Soy'], ['Potato', 'Garlic', 'Gouda'], ['Beef', 'Sweet', 'Pita', 'Wine', 'Tomato']]
UPD