使用名称排序元组列表

时间:2017-12-21 07:49:54

标签: python

我有一个看起来像这样的列表,

[('1', 'Michael'),
('2', 'Christopher'),
('3', 'Matthew'),
('4', 'Joshua'),
('5', 'Daniel'),
('6', 'David'),
('7', 'Andrew'),
('8', 'James'),
('9', 'Justin'),
('10', 'Joseph'),
('11', 'Ryan'),
('12', 'John'),
('13', 'Robert'),
('14', 'Nicholas'),]

我试图使用第二个元素对它进行排序,这是名称,我不确定如何做到这一点, 这是我尝试过的,但我无法让它发挥作用,

sorted(mod , key = lambda x:mod[1])
sorted(mod, key = [x for x,v in enumerate(mod) mod[x][1]]

任何建议都会有所帮助,提前谢谢。

2 个答案:

答案 0 :(得分:1)

l= [('1', 'Michael'),
('2', 'Christopher'),
('3', 'Matthew'),
('4', 'Joshua'),
('5', 'Daniel'),
('6', 'David'),
('7', 'Andrew'),
('8', 'James'),
('9', 'Justin'),
('10', 'Joseph'),
('11', 'Ryan'),
('12', 'John'),
('13', 'Robert'),
('14', 'Nicholas'),]

result = sorted(l,key=lambda t:t[1])
print(result)

答案 1 :(得分:1)

sorted(mod , key = lambda x:x[1])