如何将数字串转换为具有适当间距的数字列表?

时间:2014-03-16 02:29:06

标签: python

我有一串数字:

grades= '50 20 1 55 90'

如何将此转换为列表?当我尝试使用list()函数时,我得到了

['5', '0', ' ', '2', '0', ' ', '1', ' ', '5', '5', ' ', '9', '0']

这让生活变得艰难。我需要格式为:

[50, 20, 1, 55, 90]

我试着想出一个我自己的解决方案,它将循环遍历每个元素,检查字符串是否为数字,然后将它们一起追加到一个空格,这将使整个附加数字附加到另一个清单。这似乎过于复杂。 必须是另一种方式!

1 个答案:

答案 0 :(得分:4)

使用str.split()在空格上拆分,并将每个元素转换为整数:

[int(i) for i in grades.split()]

str.split()没有参数,或None作为第一个参数,拆分任意宽度空格,删除任何前导或尾随空格。

演示:

>>> grades = '50 20 1 55 90'
>>> grades.split()
['50', '20', '1', '55', '90']
>>> [int(i) for i in grades.split()]
[50, 20, 1, 55, 90]