-2

我有一个数字列表,我有以下方式(数字只是一个例子):

list = '1, 2, 3, 4, 5'

我需要它们以索引格式,所以我执行以下操作:

format = [list]

我现在通过以下方式得到它:

['1, 2, 3, 4, 5']

但是,我需要这样:

[1, 2, 3, 4, 5]

你能告诉我该怎么做吗?

非常感谢您!

4

3 回答 3

0

尝试这个:

[int(i) for i in '1, 2, 3, 4, 5'.split(',')]
于 2021-08-25T12:59:46.287 回答
0

以这种方式尝试拆分功能:

list1 = '1, 2, 3, 4, 5'

format1 = list(map(int, list1.split(', ')))

print(format1)

它将显示:

[1、2、3、4、5]

PS:您应该避免使用名为 list 的变量。由于它是一种变量,它可能会导致严重的问题

于 2021-08-25T13:00:49.640 回答
-1

您要做的是评估(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]
于 2021-08-25T13:03:28.220 回答