2013-10-30 38 views
-4

我如何排序如下使用name屬性我的Python列表,如何使用python對列表進行排序?

[{'name':'Accra','url':''}, 
    {'name':'Dubai','url':''}, 
    {'name':'Birmingham','url':''}, 
    {'name':'Dhaka','url':''}, 
    {'name':'Abu Dhabi','url':''}, 
    {'name':'Lahore','url':''}, 
    {'name':'Karachi','url':''}, 
    {'name':'Kathmandu','url':''}, 
    {'name':'SEA','url':''}] 
+1

請使用現有資源:https ://wiki.python.org/moin/HowTo/Sorting/。 – user2864740

回答

5
In [26]: L = [{'name':'Accra','url':''},{'name':'Dubai','url':''},{'name':'Birmingham','url':''},{'name':'Dhaka','url':''},{'name':'Abu Dhabi','url':''},{'name':'Lahore','url':''},{'name':'Karachi','url':''},{'name':'Kathmandu','url':''},{'name':'SEA','url':''}] 

In [27]: L.sort(key=lambda d:d['name']) 

In [28]: L 
Out[28]: 
[{'name': 'Abu Dhabi', 'url': ''}, 
{'name': 'Accra', 'url': ''}, 
{'name': 'Birmingham', 'url': ''}, 
{'name': 'Dhaka', 'url': ''}, 
{'name': 'Dubai', 'url': ''}, 
{'name': 'Karachi', 'url': ''}, 
{'name': 'Kathmandu', 'url': ''}, 
{'name': 'Lahore', 'url': ''}, 
{'name': 'SEA', 'url': ''}] 
+0

非常感謝。 – user2935131

2
>>> from operator import itemgetter 
>>> lis = [{'name':'Accra','url':''},{'name':'Dubai','url':''},{'name':'Birmingham','url':''},{'name':'Dhaka','url':''},{'name':'Abu Dhabi','url':''},{'name':'Lahore','url':''},{'name':'Karachi','url':''},{'name':'Kathmandu','url':''},{'name':'SEA','url':''}] 
>>> sorted(lis, key=itemgetter('name')) 
[{'url': '', 'name': 'Abu Dhabi'}, {'url': '', 'name': 'Accra'}, {'url': '', 'name': 'Birmingham'}, {'url': '', 'name': 'Dhaka'}, {'url': '', 'name': 'Dubai'}, {'url': '', 'name': 'Karachi'}, {'url': '', 'name': 'Kathmandu'}, {'url': '', 'name': 'Lahore'}, {'url': '', 'name': 'SEA'}] 

對列表進行排序就地使用:

lis.sort(key=itemgetter('name')) 
0
pydoc sorted 

獲得的功能的使用排序

相關問題