我创建了一个需要列表才能正常工作的方法。但是,您可以发送列表或简单的字符串。我想将该字符串转换为包含整个字符串作为元素的列表。例如,如果我有:
"I am a string"
我想将其转换为:
["I am a string"]
我能够这样做:
"I am a string".split("!@#$%^&*")
因为我永远不会有这种符号组合,所以它总是会将其转换为列表而不删除任何字符。然而,这似乎并不是一个很好的方法。还有别的办法吗?
>>> "abc"
'abc'
>>> ["abc"]
['abc']
>>> abc = "abc"
>>> abc
'abc'
>>> [abc]
['abc']
>>> "I am a string".split("!@#$%^&*") == ["I am a string"]
True
将值放在方括号中会生成一个包含一项的列表,就像多个值会生成一个包含多个项目的列表一样。唯一不遵循此模式的容器是元组,因为圆括号也用于分组。在这种情况下,只需在单个项目后添加一个逗号即可:
>>> abc
'abc'
>>> (abc)
'abc'
>>> (abc,)
('abc',)
如果您希望您的函数在幕后以不同的方式处理列表和字符串,请对您的函数进行如下编码:
def f(maybe_list):
if not isinstance(maybe_list, list):
maybe_list = [maybe_list]
# carry on, you have a list.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)