[英]How to export a result from function? (updated with more code)
堆棧溢出,你好。 我沒有找到有關從“函數”導出數據(在我的情況下為列表)的任何信息
我的代碼的結尾是:
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']
[]
你看到了嗎? function 末尾的第一個print(ingridient_names_final)
- 從 function 寫入列表,沒關系。 如您所見,我還有來自 function, print (dishnames_string)
的另一個值,它也是 function 的一部分 - 工作的結果是列表。 但是,當我再次打印 function print (search_ingridientsnames)
中的值時 - 結果是 []。 而且我什至不能寫 print(list(search_ingridientsnames)) - 結果是一個錯誤。 我怎樣才能從 function 啟動中收到相同的結果?
結果應該是:
>> [['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
該代碼正在打印您所要求的內容。 要打印 function 的結果,您需要使用:
print (search_ingridientsnames())
從第一手的角度來看,我可以說 python 正在將打印語句的結果解釋為 object,因此正在打印您在控制台上看到的內容。 您需要將其寫為 print(search_ingredientsname())。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.