2016-12-17 105 views
-1

我想知道如何按字母顺序排列元组。如何对元组进行排序

cities_countries=[('doha','qatar'),('ankara','turkey'),('rome','italy'),('brussels','belgium')] 

的结果应该是:

belgium, brussels 
italy, rome 
qatar, doha 
turkey,ankara 

如果可能的话,我可以使用循环

+0

不要恶意破坏你自己的问题。 – ShadowRanger

回答

0

您可以在同一行做到这一点使用内置的排序

cities_countries=[('doha','qatar'),('ankara','turkey'),('rome','italy'),('brussels','belgium')] 

sorted(cities_countries, key=lambda x: x[1]) 
# [('brussels', 'belgium'), 
# ('rome', 'italy'), 
# ('doha', 'qatar'), 
# ('ankara', 'turkey')] 

# and to get it in the order you want 
map(lambda x: (x[1], x[0]), sorted(cities_countries, key=lambda x: x[1])) 

# [('belgium', 'brussels'), 
# ('italy', 'rome'), 
# ('qatar', 'doha'), 
# ('turkey', 'ankara')] 
+0

我不能以简单的方式做到这一点吗?使用for循环? – Abdullah

+0

“for”循环怎么会比单个函数调用更简单? –