字典排序,列表里面字典排序--并且加上排名

d = {'a':1,'b':4,'c':2}

l=sorted(d.items(),key = lambda x:x[1],reverse = True)
print(l)  #[('b', 4), ('c', 2), ('a', 1)]
s=sorted(d.items(),key = operator.itemgetter(1))
print(s)  #[('a', 1), ('c', 2), ('b', 4)]

li = [{"day":2,'name':'11','age':222},{"day":1,'name':'11','age':222},{"day":3,'name':'11','age':222}]
newlist = sorted(li, key=lambda k: k['day'],reverse=True)
print(newlist)    #[{'day': 3, 'name': '11', 'age': 222}, {'day': 2, 'name': '11', 'age': 222}, {'day': 1, 'name': '11', 'age': 222}]

def func(l):
    n=1
    for k in l:
        k['id']=n
        n+=1
    return l
print(func(newlist))  #

[{'day': 3, 'name': '11', 'age': 222, 'id': 1}, {'day': 2, 'name': '11', 'age': 222, 'id': 2}, {'day': 1, 'name': '11', 'age': 222, 'id': 3}]


 

posted @ 2018-05-18 11:23  forjie  阅读(103)  评论(0编辑  收藏  举报