如何在python中按数字排序?

时间:2015-01-20 14:09:24

标签: python file sorting numbers

我需要一些可以读取.txt文档中的信息的代码。 它需要按编号排序(不包括任何字母或其他字符),并打印在控制台/输出区域内。

# This is what the file looks like:

Ryan | 6
Joe | 5
Anna | 10
Beth| 7
Adam | 2

这就是我想要的样子:

# This is the information, sorted numerically.

Adam | 2
Joe | 5
Ryan | 6
Beth| 7
Anna | 10

我已经读过我需要使用密钥,但我无法理解它。

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用正确的密钥使用sorted(),但首先您可以使用\n拆分字符串,然后根据数字的int值进行排序:

>>> l=s.split('\n')
>>> print '\n'.join(sorted(l,key=lambda x : int(x.split('|')[1].strip())))
Adam | 2
Joe | 5
Ryan | 6
Beth| 7
Anna | 10