2012-04-27 125 views
12

如何将空格分隔的整数输入转换为整数列表?将字符串列表转换为整数列表

例输入:

list1 = list(input("Enter the unfriendly numbers: ")) 

转换例:

['1', '2', '3', '4', '5'] to [1, 2, 3, 4, 5] 
+0

[转换所有字符串在列表中INT]可能的复制(http://stackoverflow.com/questions/7368789/convert-all-strings-in-a-list-to-int) – 2016-04-15 07:13:20

回答

31

map()是你的朋友,它适用给出第一个参数列表中的所有项目的功能。

map(int, yourlist) 

因为它映射每个迭代,你甚至可以这样做:

map(int, input("Enter the unfriendly numbers: ")) 

这(在python3.x)返回一个地图对象,它可以被转换成一个列表。 我假设你使用python3,因为你使用了input而不是raw_input

+1

+ 1但你的意思是'map(int,yourlist)'?当然, – 2012-04-27 13:48:21

+0

已经编辑过了。 – ch3ka 2012-04-27 13:48:36

+0

你是指'map(int,input().split())',还是py3k自动将空格分隔的输入转换成列表? – quodlibetor 2012-04-27 14:23:00

1

你可以试试:

x = [int(n) for n in x] 
+2

这不起作用。 'int'不是字符串的一种方法。 – 2012-04-27 13:49:06

+0

对不起,我编辑了它......这实际上是我的意思:) – Silviu 2012-04-27 13:51:52

+0

这没有错,但我通常不会重复使用'x'。 – 2012-04-27 13:53:54

14

的方法之一是使用列表理解:

intlist = [int(x) for x in stringlist] 
+0

+1,'[int(x)for input()。split()]'符合OP的规格。 – georg 2012-04-27 14:34:23

-2

只是好奇你得到的方式 '1', '2', '3',' 4'而不是1,2,3,4。

>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: 1, 2, 3, 4 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: [1, 2, 3, 4] 
>>> list1 
[1, 2, 3, 4] 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: '1234' 
>>> list1 = list(input("Enter the unfriendly numbers: ")) 
Enter the unfriendly numbers: '1', '2', '3', '4' 
>>> list1 
['1', '2', '3', '4'] 

好了,一些代码

>>> list1 = input("Enter the unfriendly numbers: ") 
Enter the unfriendly numbers: map(int, ['1', '2', '3', '4']) 
>>> list1 
[1, 2, 3, 4] 
3

这个工程:

nums = [int(x) for x in intstringlist] 
0
l=['1','2','3','4','5'] 

for i in range(0,len(l)): 
    l[i]=int(l[i]) 
+0

您的缩进被打破。 – 2012-07-24 06:45:15

1

说,有一个名为为List_Of_Strings和输出是一个名为的整数列表字符串列表list_of_intmap函数是一个可用于此操作的内置python函数。

'''Python 2.7''' 
list_of_strings = ['11','12','13'] 
list_of_int = map(int,list_of_strings) 
print list_of_int