Python 如何修复for循环,以便打印每个段?
不是我的代码在单独的行上打印列表中的每个元素,而是只打印第一个元素。(1, 3, 4). for循环在函数中时似乎不起作用,但不在函数中时效果很好。为什么会出现这种情况?我如何修复它Python 如何修复for循环,以便打印每个段?,python,Python,不是我的代码在单独的行上打印列表中的每个元素,而是只打印第一个元素。(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_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))
你不应该循环返回
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)
“在循环中使用返回将中断循环并退出函数,即使迭代尚未完成。”
相反,您可以在循环中打印
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)
如上所述,这个问题令人困惑,但据我所知,函数并没有返回您希望它返回的内容。在谈到收益率时,这段代码应该与您正在尝试做的工作配合使用
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:
yield(items)
for y in recommend(item_1):
print(y)
这个链接中关于收益率的第一个例子很简单,应该可以帮助您理解它:对问题的描述不清楚,也不容易理解。请考虑重新组织你的单词。<代码>返回< /代码>将停止循环。尝试
yield
。。。阅读文档并做一些教程请显示预期输出。“for的循环似乎不起作用”,因为在开始时,当项从项列表分配给项2
时,直接执行返回(项)
,函数返回项2
,因此,将只打印此元素。建议你先阅读一些基础知识。