我有一个数字列表,我有以下方式(数字只是一个例子):
list = '1, 2, 3, 4, 5'
我需要它们以索引格式,所以我执行以下操作:
format = [list]
我现在通过以下方式得到它:
['1, 2, 3, 4, 5']
但是,我需要这样:
[1, 2, 3, 4, 5]
你能告诉我该怎么做吗?
非常感谢您!
我有一个数字列表,我有以下方式(数字只是一个例子):
list = '1, 2, 3, 4, 5'
我需要它们以索引格式,所以我执行以下操作:
format = [list]
我现在通过以下方式得到它:
['1, 2, 3, 4, 5']
但是,我需要这样:
[1, 2, 3, 4, 5]
你能告诉我该怎么做吗?
非常感谢您!
尝试这个:
[int(i) for i in '1, 2, 3, 4, 5'.split(',')]
以这种方式尝试拆分功能:
list1 = '1, 2, 3, 4, 5'
format1 = list(map(int, list1.split(', ')))
print(format1)
它将显示:
[1、2、3、4、5]
PS:您应该避免使用名为 list 的变量。由于它是一种变量,它可能会导致严重的问题
您要做的是评估(eval
)一些代码,以便解释器解决它。由于您无法eval
列出,因此您必须将方括号放在字符串中,以便对其进行评估:
l = '[1, 2, 3, 4, 5]'
eval(l)
>>> [1, 2, 3, 4, 5]
解释:
您的第一个“列表”是一个类型不是 alist
而是字符串 ( str
) 的对象。
list = '1, 2, 3, 4, 5'
type(list)
>>> str
顺便说一句,我强烈建议您不要使用诸如“list”之类的python关键字作为变量名
当你用方括号括起来时,你定义了一个带有单个对象的列表,即这个字符串对象:
format = [list]
type(format)
>>> list
len(format) # How many elements does it have?
>>> 1
所以你真正想做的是以字符串的方式定义这个列表并评估它:
l = '[1, 2, 3, 4, 5]'
eval(l)
>>> [1, 2, 3, 4, 5]