为什么我的代码无法将列表的每个项目从字符串转换为整数?

时间:2019-05-30 08:46:04

标签: python python-3.x

由于代码的一小部分,我陷入了一个问题。我找不到为什么那部分代码不能正常工作。

通过调试代码的每一部分,我发现哪些行导致了意外的结果。我已经在下面写了那几行。我在此处定义了列表,因此不必复制完整的代码。

list1=["-7","-7","-6"]

for test in list1:

    test=int(test)

print( type( list1[0] ) )

我希望类型为int,但输出将改为str

3 个答案:

答案 0 :(得分:3)

您需要修改列表的内容

list1=["-7","-7","-6"]

for i in range(len(list1)):
    list1[i] = int(list1[i])

print(type(list1[0]))

一种更Python化的方法是使用一种理解来一次更改所有内容:

list1 = [int(x) for x in list1]

答案 1 :(得分:0)

尝试将列表中的每一项转换为整数格式:

list1=["-7","-7","-6"]
list1 = list(map(int, list1))

list1变成[-7, -7, -6]

现在type(list1[0])将是<class 'int'>

答案 2 :(得分:0)

您忘了附加转换后的值:

list1 = ["-7","-7","-6"]
list2 = [] # store integers
for test in list1:
    test = int(test)
    list2.append(test) # store transformed values

print(type(list2[0]))