如何按每个元素的数值对字符串列表进行排序

时间:2013-12-09 12:30:39

标签: python list sorting

我有一个像这样的字符串列表:

a = ["part 1", "part 3" , "part 10", "part 2"....]

如果我对它们进行排序并打印,sorted[a]结果为

["part 1", "part 10", "part 2", "part 3"]

但我想将它们排序为:

["part 1", "part 2", "part 3", "part 10"]

每个字符串中的数值。我该如何实现呢?感谢

1 个答案:

答案 0 :(得分:4)

a = ["part 1", "part 3" , "part 10", "part 2"]
print sorted(a, key=lambda x:int(x.split()[1]))

<强>输出

['part 1', 'part 2', 'part 3', 'part 10']

如果您想就地排序,

a.sort(key=lambda x:int(x.split()[1]))
print a