蟒蛇:拆包一个字符串列表(python: unpacking a string to a list)

2019-09-18 11:28发布

这个问题的答案就在配置文件中的多值元素的一个问题 (这正好符合我的需要),建议将“解包从配置字符串”。 我读了文档的拆包参数列表在几个地方建议,但我不明白如何这涉及到我的问题。

我相信这一定是显而易见的:具有字符串str = "123,456" ,我怎样才能将其转换为列表[123,456]由逗号字符串可以变化分立元件的数量)

谢谢。

Answer 1:

你想字符串列表或者整形的名单?

如果你只是想一个字符串列表,这是非常简单的:

my_list = my_string.split(',')

如果您想将这些转换为整数,您需要:

my_list = map(int, my_string.split(','))

(另外,不要使用str ,因为它阴影内置的变量名str()函数。)



Answer 2:

[int(x) for x in str.split(",")]

你基本上是将函数int通过您的字符串的分割产生的每一个元素。

的简单结果str.split(',')将是["123","456"]

正如丹尼尔·罗斯曼指出的,你要小心,不要使用无意中掩盖内置方法,如变量或方法的名称,例如, str



Answer 3:

最简单的方法是使用split()

unpacked = str.split(',')


Answer 4:

虽然我与其他的答案一致,你也应该在处理一个假设的一些无效的字符串表示的情况下例外。 举个例子,下面的代码片段:

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)

只是一个想法。 祝好运!



文章来源: python: unpacking a string to a list