[英]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.