Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复for循环,以便打印每个段?_Python - Fatal编程技术网

Python 如何修复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]

不是我的代码在单独的行上打印列表中的每个元素,而是只打印第一个元素。(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))

你不应该循环返回

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
,因此,将只打印此元素。建议你先阅读一些基础知识。