我尝试让用户输入一个向量,这样它就可以被加、减等。第一行是列表输入,但它将所有字符存储为字符串,包括括号和逗号。第三和第四行去掉了括号和逗号,留下了三个用户输入的数字作为字符串。
v = input('Input integers for a vector "v" ex. [1,2,-7]: ')
aux = v[1:-1]
list = aux.split(',')
for x in list:
int(x)
print(list[0] + list[1])for循环是我尝试迭代列表并将所有数字转换为整数,但它仍然将它们作为字符串返回。例如,如果我输入列表3,6,5,程序将在末尾打印36,而不是预期的9。我尝试使用map函数更改它们,但返回的值与字符串相同。
删除括号和逗号后,如何将所有列表项转换为整数?
发布于 2020-01-25 03:31:00
首先,int() caster不会对变量进行强制转换,它会返回强制转换的值,因此您需要将其重新赋值。
其次,在使用类的循环时
for x in list:X不是指向列表元素的指针引用,相反,它是随复制到其中的列表元素的值而变化的,所以即使您这样做了:
for x in list:
x = int(x)列表中的元素不会受到影响。将字符串字符转换为int的循环应该是(一种方法):
for i in range(len(list)):
list[i] = int(list[i])https://stackoverflow.com/questions/59902030
复制相似问题