在 Python 中利用循环和 Return 检索多个值
尝试从 Python 中的循环返回多个值时,可能会遇到限制当使用return语句时。在使用全局字典并与外部应用程序集成时,这可能特别具有挑战性。
在提供的代码中,最初的方法使用 print 来显示字典值,这给 Discord 机器人带来了问题,因为这仅在本地输出数据。然而,用 return 替换 print 后,返回值不够,因为循环提前退出。
为了解决这个问题,我们可以采用替代方法:
生成器生成
这种方法在循环迭代期间增量地产生值。使用生成器函数,我们可以创建一个数据流:
def show_todo(): for key, value in cal.items(): yield value[0], key
然后我们可以将生成的值转换为列表或元组:
a = list(show_todo()) # or tuple(show_todo())
附加到容器
我们还可以将值附加到列表中循环:
def show_todo(): my_list = [] for key, value in cal.items(): my_list.append((value[0], key)) return my_list
列表理解
更简洁的方法是使用列表理解直接生成列表:
def show_todo(): return [(value[0], key) for key, value in cal.items()]
以上是如何从 Python 循环中有效返回多个值?的详细内容。更多信息请关注PHP中文网其他相关文章!