Python - 如何更改列表中的值类型

时间:2017-05-19 11:10:52

标签: python list integer

我只是想知道如何更改列表中的值类型。所以,让我们说我想要list_a = ['20.3', '35', '10', '6.74', '323']整数,以便进行计算。

list_a = ['20.3', '35', '10', '6.74', '323']

for i in list_a:
    print int(i) * 10

先谢谢。

4 个答案:

答案 0 :(得分:1)

使用地图。 使用Python2:

>>> list_a = ['20.3', '35', '10', '6.74', '323']
>>> list_a = map(float, list_a)
>>> list_a[0]*2
40.6

在Python3中,map返回迭代器而不是列表。所以,使用Python3:

>>> list_a = list( map(float, list_a) )

答案 1 :(得分:0)

您实际上需要将字符串转换为浮点数,因为它们具有小数点,而不是整数。

简单方法:创建一个空列表,并循环显示原始列表。在进行修改时,将新列表中的项目附加到空列表中。你有修改,这很好:

list_a = ['20.3', '35', '10', '6.74', '323']
list_b = []
for i in list_a:
    list_b.append(float(i)*10)

如果您想要更复杂的解决方案,可以使用列表解析:

list_b = [float(i)*10 for i in list_a]

这些是等效的解决方案。

最后,您可以使用enumerate()实际修改list_a的元素:

for i, j in enumerate(list_a):
    list_a[i] = float(j)*10

答案 2 :(得分:0)

list_a = ['20.3', '35', '10', '6.74', '323']


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

答案 3 :(得分:0)

a = [round(float(i) * 10) for i in a]      

返回Python 2中的int列表。