如何以数字方式对包含数字的字符串列表进行排序

时间:2015-05-25 20:23:19

标签: python list sorting python-3.x

如果我想要一个包含数字和单词的列表,就像这个

random_list=["h: 100", "g: 57", "k: 1", "p: 200"]

按数字排序,使其成为

["k: 1", "g: 57", "h: 100", "p: 200"]

python 3中的代码是什么?

2 个答案:

答案 0 :(得分:4)

Python排序允许使用key关键字来定义您自己的排序方法。以下代码适用于Python 2.7,我假设3类似:

random_list=["h: 100", "g: 57", "k: 1", "p: 200"]

sorted(random_list, key=lambda x: int(x.split()[1]))

#  ['k: 1', 'g: 57', 'h: 100', 'p: 200']

答案 1 :(得分:2)

首先,这是一个错误的数据结构。你要么是列表,要么是字典。

由于您的“'列表”的内容是键值对,我猜测你需要的是字典而不是字典。字典具有可用的sorted()函数。

相关问题