python - 如何修复for循环以便打印每个段?
问题描述
而不是我的代码在单独的行上打印列表中的每个元素,只打印第一个元素。(1、3、4)。for 循环在函数中似乎不起作用,但当不在函数中时,它工作正常,为什么会这样,我该如何解决?
item_1 = [1, 2, 3]
item_2 = [1, 3, 4]
item_3 = [2]
item_4 = [3, 4]
item_5 = [5]
def recommend(item):
item_list = [item_1, item_2, item_3, item_4, item_5]
item_list.remove(item)
for items in item_list:
return(items)
print(recommend(item_1))
解决方案
你不应该循环返回。
“在循环内使用 return 会破坏它并退出函数,即使迭代仍未完成。” https://stackoverflow.com/a/44564729/13105480
相反,您可以循环打印。
item_1 = [1, 2, 3]
item_2 = [1, 3, 4]
item_3 = [2]
item_4 = [3, 4]
item_5 = [5]
def recommend(item):
item_list = [item_1, item_2, item_3, item_4, item_5]
item_list.remove(item)
for items in item_list:
print(items)
# return(items)
recommend(item_1)
推荐阅读
- java - 如何与 bin、conf 等少数目录一起构建战争
- javascript - 无法在 Angular 中访问对象属性
- r - 在 Rscript 中使用从 ShinyApp 获取的变量
- sql-server - Azure 数据同步可以用作主到主数据库复制吗?
- php - 我的前端不会与我的 Heroku 后端交互
- python - guvectorize 在 nopython 模式下不解析类型
- c++ - 虚拟模板成员方法!一个实用的解决方法
- excel - 如何在后台启动浏览器,同时在用户窗体中运行宏的 Excel VBA 在前台保持活动状态
- mysql - SELECT,从 JOIN 上的 WHERE 获取反转结果
- python - Pandas - 滚动获取最后一个非 Nan 值加上列中非 Nan 的计数