以自定义方式麻烦拆箱清单 [英] Trouble unpacking list in a customized way

查看:85
本文介绍了以自定义方式麻烦拆箱清单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解压缩一些我在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆