sorted

Reads: 597 Edit

1 对列表排序

x = [41, -68, 47, -87, 39, -46, 102, -77, 51]
print(sorted(x))

运行结果:

[-87, -77, -68, -46, 39, 41, 47, 51, 102]

...

x = [41, -68, 47, -87, 39, -46, 102, -77, 51]
print(sorted(x,reverse=True))    

运行结果:

[102, 51, 47, 41, 39, -46, -68, -77, -87]

...

x = [41, -68, 47, -87, 39, -46, 102, -77, 51]
print(sorted(x,key=abs))  

运行结果:

[39, 41, -46, 47, 51, -68, -77, -87, 102]

2 对字典排序

默认依据字典的key排序:

dict1 = {'语文': 90, '数学': 79, '英语': 82, '物理': 72, '化学': 95, '生物': 76}
print(sorted(dict1))

运行结果:

['化学', '数学', '物理', '生物', '英语', '语文']

默认排序,显示字典的键值对

dict1 = {'语文': 90, '数学': 79, '英语': 82, '物理': 72, '化学': 95, '生物': 76}
print(sorted(dict1.items()))

运行结果:

[('化学', 95), ('数学', 79), ('物理', 72), ('生物', 76), ('英语', 82), ('语文', 90)]

依据字典的value排序

def by_key(dt):
    return dt[1]


dict1 = {'语文': 90, '数学': 79, '英语': 82, '物理': 72, '化学': 95, '生物': 76}
print(sorted(dict1.items(), key=by_key))

运行结果:

[('物理', 72), ('生物', 76), ('数学', 79), ('英语', 82), ('语文', 90), ('化学', 95)]

依据字典的value倒序排序

def by_key(dt):
    return dt[1]


dict1 = {'语文': 90, '数学': 79, '英语': 82, '物理': 72, '化学': 95, '生物': 76}
print(sorted(dict1.items(), key=by_key,reverse=True))

运行结果:

[('化学', 95), ('语文', 90), ('英语', 82), ('数学', 79), ('生物', 76), ('物理', 72)]

Comments

Make a comment