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