您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pythonic方式将变量转换为列表

5b51 2022/1/14 8:22:51 python 字数 1454 阅读 587 来源 www.jb51.cc/python

我有一个函数,其输入参数可以是元素或元素列表.如果这个参数是一个单一的元素,那么我把它放在列表中,所以我可以一致地迭代输入. 目前我有这个: def my_func(input): if not isinstance(input, list): input = [input] for e in input: ... 我正在使用现有的API,因此我无法更改输入参数.使

概述

目前我有这个:

def my_func(input):
    if not isinstance(input,list): input = [input]
    for e in input:
        ...

我正在使用现有的API,因此我无法更改输入参数.使用isinstance()感觉到hacky,所以有一个正确的方法来做到这一点?

>>> hasattr("abc","__iter__")
False
>>> hasattr((0,),"__iter__")
True
>>> hasattr({},"__iter__")
True
>>> hasattr(set(),"__iter__")
True

这具有将字符串视为不可迭代的附加优点 – 字符串是灰色区域,有时您希望将它们视为元素,而另一些作为字符序列.

请注意,在Python 3中,str类型确实具有__iter__属性,这不起作用:

>>> hasattr("abc","__iter__")
True

总结

以上是编程之家为你收集整理的pythonic方式将变量转换为列表全部内容,希望文章能够帮你解决pythonic方式将变量转换为列表所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶