我有一个整数列表,中间有空格。我想检索所有这些单独的整数并创建一个带索引的新列表。
>>> x = ['1 2 3 4']
>>> type(x)
<class 'list'>
>>> len(x)
1
我想将列表转换为
>>> x = [1, 2, 3, 4]
>>> type(x)
<class 'list'>
>>> len(x)
4
我正在尝试分裂,它没有用。我该如何进行转换?
答案 0 :(得分:3)
这是一种直接的方法:
>>> map(int, x[0].split())
[1, 2, 3, 4]
下面:
x[0]
将['1 2 3 4']
转换为'1 2 3 4'
; .split()
将其转换为['1', '2', '3', '4']
; map(int, ...)
将其转换为[1, 2, 3, 4]
。那就是说,为什么你首先有一个列表并不完全清楚,因为它似乎只有一个元素(一串以空格分隔的数字)。
答案 1 :(得分:0)
你可以试试这个:
x = ['1 2 3 4']
final_x = [int(i) for i in x[0] if i.isdigit()]
输出:
[1, 2, 3, 4]
答案 2 :(得分:0)
你可以使用lambda并映射这样的东西:
a = ['1 2 3 4']
print(list(map(lambda x:list(map(lambda y:int(y),x.split())),a)))
输出:
[[1, 2, 3, 4]]