将单个用空格分隔的字符串列表转换为整数

时间:2018-06-27 05:03:08

标签: python

对于一个常规的编程问题,我使用原始输入模式从用户那里获取了一个列表输入的输入,与变量建议的一样多。现在我有了一个字符串列表,其中列表的每个元素都有一组由空格分隔的字符串,如下所示:

['2 5 4','3 7 8 9','5 5 7 8 9 10']

现在,我想将字符串转换为整数列表。实际上,我希望最终列表看起来像这样:

[[2,5,3],[3,7,8,9],[5,5,7,8,9,10]]

另外,我要使用二手车的输入,

NULL

有没有办法做到这一点?我正在使用Python 2.7和PyCharm作为编辑器。 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

只需使用list comprehensionsplit函数。

  l = ['2 5 4', '3 7 8 9', '5 5 7 8 9 10']
  expected_list = [[int(j) for j in i.split()] for i in l]
  print(expected_list)

输出:

[[2, 5, 4], [3, 7, 8, 9], [5, 5, 7, 8, 9, 10]]

答案 1 :(得分:1)

使用../utility_functionslist comprehension

例如:

map

输出:

l = ['2 5 4', '3 7 8 9', '5 5 7 8 9 10']
print( [map(int, i.split()) for i in l] )    #For py3 = print( [list(map(int, i.split())) for i in l] )

答案 2 :(得分:1)

使用一个简单的循环遍历列表:

list = ['2 5 4', '3 7 8 9', '5 5 7 8 9 10']
new_list = []
for each in list:
   s = each.split()
   numbers = [int(x) for x in s]
   new_list.append(numbers)