【发布时间】:2022-01-26 23:50:45
【问题描述】:
我有一个列表,其中包含带有数字的句子,我想按数字而不是字母顺序排序。但是当我使用排序功能时,它会按字母而不是数字对元素进行排序,我该如何解决这个问题?
num = ['ryan has 8 apples','charles has 16 bananas','mylah has 3 watermelons']
num.sort()
print(num)
output:
['charles.....','mylah.....','ryan......']
如您所见,它是按字母顺序排序的,但这不是我的预期输出
点代表句子的其余部分
expected result:
['mylah has 3 watermelons','ryan has 8 apples','charles has 16 bananas']
这是预期的输出,其中元素按数字而非字母顺序排序
【问题讨论】:
-
我不明白为什么你会期望 Python 会神奇地猜测你想使用字符串中某处的数字来对它们进行排序。阅读例如docs.python.org/3/howto/sorting.html 寻求指导。
-
这似乎有点苛刻 :( OP 并没有说 Python 做错了什么,他们只是在询问哪些 Python 功能会产生他们正在寻找的解决方案。
-
字符串中只有1个数字还是多个?