请用sorted()对列表分别排序:

假设我们用一组tuple表示学生名字和成绩:
L = [(‘Bob’, 75), (‘Adam’, 92), (‘Bart’, 66), (‘Lisa’, 88)]
请用sorted()对上述列表分别按名字排序:

# -*- coding: utf-8 -*-

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

def by_name(t):
    print(t)
    return t

L2 = sorted(L, key=by_name)
print(L2)

run:
(‘Bob’, 75)
(‘Adam’, 92)
(‘Bart’, 66)
(‘Lisa’, 88)
[(‘Adam’, 92), (‘Bart’, 66), (‘Bob’, 75), (‘Lisa’, 88)]

再按成绩从高到低排序:

# -*- coding: utf-8 -*-

    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
    
    def by_score(t):
        print(-t[1])
        return -t[1]  
    
    L2 = sorted(L, key=by_score)  
    print(L2)

Run:
-75
-92
-66
-88
[(‘Adam’, 92), (‘Lisa’, 88), (‘Bob’, 75), (‘Bart’, 66)]

猜你喜欢

转载自blog.csdn.net/richand112233/article/details/88311433
今日推荐