我有一串数字:
grades= '50 20 1 55 90'
如何将此转换为列表?当我尝试使用list()函数时,我得到了
['5', '0', ' ', '2', '0', ' ', '1', ' ', '5', '5', ' ', '9', '0']
这让生活变得艰难。我需要格式为:
[50, 20, 1, 55, 90]
我试着想出一个我自己的解决方案,它将循环遍历每个元素,检查字符串是否为数字,然后将它们一起追加到一个空格,这将使整个附加数字附加到另一个清单。这似乎过于复杂。 必须是另一种方式!
答案 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]