我创建了一个需要列表才能正常工作的方法。但是,您可以发送列表或简单字符串。我想将该字符串转换为包含整个字符串作为元素的列表。例如,如果我有:
"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.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句