Python中将其他函数返回的列表传入自定义函数后变空是什么原因?
问题原因
- 最核心的错误出在调用方式:你写的
excel_parser(list_titles=[], list_links=[], list_prices=[], num_elem_titles=[], num_elem_link=[])是主动给所有参数传入了空列表,完全没有把之前从其他函数拿到的、有内容的5个列表作为参数传入,函数内部自然读取不到任何元素。
假设你存储5个返回值的变量名就是list_titles、list_links、list_prices、num_elem_titles、num_elem_link,正确的调用方式直接传变量名即可:excel_parser(list_titles, list_links, list_prices, num_elem_titles, num_elem_link) - 你函数内部还存在类型不匹配问题:判断条件
row <= num_elem_titles中row是整数类型,但你现在把num_elem_titles、num_elem_link作为列表类型传参,二者比较会直接触发类型错误。你之前用其他传参方式报错大概率是这个原因,不是传参方式本身有问题。如果这两个参数的作用是控制写入的最大行数,应该传整数值,不需要定义为列表。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

