以自定义方式麻烦拆箱清单 [英] Trouble unpacking list in a customized way
问题描述
我正在尝试解压缩一些我在get_item()
函数中产生的列表.我知道如果使用return
而不是yield
可以获得理想的结果.
I'm trying to unpack some list which I've yielded within get_item()
function. I know I can get desired result If I used return
instead of yield
.
我尝试过:
def get_item():
yield ["k","y","t"]
if __name__ == '__main__':
for item in get_item():
print(item)
我得到的输出:
['k', 'y', 't']
我想要得到的输出:
k
y
t
要保持yield
原样,我应该带来什么可能的变化以获得预期的结果?
What possible change should I bring about to get the desired result keeping yield
as it is?
推荐答案
从Python 3.3开始,您可以使用yield from
:
As of Python 3.3, you can use yield from
:
def get_item():
yield from ["k","y","t"]
if __name__ == '__main__':
for item in get_item():
print(item)
输出:
k
y
t
yield from
是Python 3.3中引入的新技巧,只是其中的一小部分:
yield from
is a new trick introduced in Python 3.3, a short part of it:
对于简单的迭代器,可迭代的收益本质上只是可迭代项目的简化形式:yield item:
For simple iterators, yield from iterable is essentially just a shortened form of for item in iterable: yield item:
(重点是我的)
这篇关于以自定义方式麻烦拆箱清单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!