这个问题的答案就在配置文件中的多值元素的一个问题 (这正好符合我的需要),建议将“解包从配置字符串”。 我读了文档的拆包参数列表在几个地方建议,但我不明白如何这涉及到我的问题。
我相信这一定是显而易见的:具有字符串str = "123,456"
,我怎样才能将其转换为列表[123,456]
由逗号字符串可以变化分立元件的数量)
谢谢。
这个问题的答案就在配置文件中的多值元素的一个问题 (这正好符合我的需要),建议将“解包从配置字符串”。 我读了文档的拆包参数列表在几个地方建议,但我不明白如何这涉及到我的问题。
我相信这一定是显而易见的:具有字符串str = "123,456"
,我怎样才能将其转换为列表[123,456]
由逗号字符串可以变化分立元件的数量)
谢谢。
你想字符串列表或者整形的名单?
如果你只是想一个字符串列表,这是非常简单的:
my_list = my_string.split(',')
如果您想将这些转换为整数,您需要:
my_list = map(int, my_string.split(','))
(另外,不要使用str
,因为它阴影内置的变量名str()
函数。)
[int(x) for x in str.split(",")]
你基本上是将函数int
通过您的字符串的分割产生的每一个元素。
的简单结果str.split(',')
将是["123","456"]
。
正如丹尼尔·罗斯曼指出的,你要小心,不要使用无意中掩盖内置方法,如变量或方法的名称,例如, str
。
最简单的方法是使用split()
unpacked = str.split(',')
虽然我与其他的答案一致,你也应该在处理一个假设的一些无效的字符串表示的情况下例外。 举个例子,下面的代码片段:
number_string = "123,456,x21"
delimiter = ","
number_list = []
for item in number_string.split(delimiter):
try:
my_num = int(item)
number_list.append(item)
except ValueError, e:
# you can choose to just pass or handle the error like so
print "Skipping %s: %s" % (item, e.message)
只是一个想法。 祝好运!