将字符串列表转换为整数列表[重复]
Posted
技术标签:
【中文标题】将字符串列表转换为整数列表[重复]【英文标题】:converting list of string to list of integer [duplicate] 【发布时间】:2012-05-08 06:27:25 【问题描述】:如何将空格分隔的整数输入转换为整数列表?
示例输入:
list1 = list(input("Enter the unfriendly numbers: "))
转换示例:
['1', '2', '3', '4', '5'] to [1, 2, 3, 4, 5]
【问题讨论】:
【参考方案1】:map()
是你的朋友,它将作为第一个参数给出的函数应用于列表中的所有项目。
map(int, yourlist)
由于它映射每个可迭代对象,您甚至可以这样做:
map(int, input("Enter the unfriendly numbers: "))
which(在 python3.x 中)返回一个地图对象,可以将其转换为列表。
我假设您使用的是 python3,因为您使用的是 input
,而不是 raw_input
。
【讨论】:
+1 但你的意思是map(int,yourlist)
吗?
你的意思是map(int, input().split())
,还是py3k自动将空格分隔的输入转换成列表?
不,我假设输入的数字没有空格,正如所提供的示例所示。事实上,我并没有将此作为解决方案发布,我只是想指出 map() 的第二个参数不必是列表,任何可迭代的作品。【参考方案2】:
一种方法是使用列表推导:
intlist = [int(x) for x in stringlist]
【讨论】:
+1,[int(x) for x in input().split()]
以符合 OP 的规范。【参考方案3】:
这行得通:
nums = [int(x) for x in intstringlist]
【讨论】:
【参考方案4】:你可以试试:
x = [int(n) for n in x]
【讨论】:
这不起作用。int
不是字符串方法。
对不起,我编辑了它......这实际上是我的意思:)
没错,但我一般不会像这样重复使用x
。
你能举个例子吗?【参考方案5】:
假设有一个名为 list_of_strings 的字符串列表,输出是一个名为 list_of_int 的整数列表。 map 函数是可用于此操作的内置 python 函数。
'''Python 2.7'''
list_of_strings = ['11','12','13']
list_of_int = map(int,list_of_strings)
print list_of_int
【讨论】:
【参考方案6】: l=['1','2','3','4','5']
for i in range(0,len(l)):
l[i]=int(l[i])
【讨论】:
【参考方案7】:只是好奇你得到“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]
【讨论】:
以上是关于将字符串列表转换为整数列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章