【问题标题】:Sort a list of strings that contain integers while ignoring white space in python对包含整数的字符串列表进行排序,同时忽略python中的空格
【发布时间】:2020-06-27 06:18:22
【问题描述】:
我想对每个元素之间有空格的列表进行排序。当我尝试使用sorted() 对其进行排序时,它也会对空白进行排序。我不要那个。如何在 python 中实现?
A = '1 10'
sorted(A)
print(A)
输出:
[' ', '0', '1', '1']
我想要的输出:
'1 10'
【问题讨论】:
标签:
python
python-3.x
string
sorting
【解决方案1】:
您的变量 A 当前是一个字符串。您想首先使用 split() 函数转换为列表。 split 函数用于根据给定的分隔符将字符串转换为列表。例如,
x=A.split(" ") 会给你一个列表 x 作为 ['1','10'],然后你可以使用 x.sort() 或 x=sorted(x) 对 x 本身进行排序。 sorted 和 sort 的区别在于 sorted 会返回一个新的列表,而 sort 对给定的列表进行排序。
【解决方案2】:
我认为您可以尝试以下方法。
string = '1 10'
final = sorted(string.split(), key = int)
final = " ".join(final)
【解决方案3】:
在得到排序后的数字列表后,使用 join 返回一个带有空格的字符串。
【解决方案4】:
您可以split 然后对其进行排序。在sorted中使用key参数
A='1 10'
out=sorted(A.split(),key=int)
# ['1','10']
根据我了解的其他答案,您可以使用join。
' '.join(sorted(A.split(),key=int))
# '1 10'