About 1 min
from operator import itemgetter
### list
a = [1, 2, 3, 4, 5]
operator1 = itemgetter(0) # 选择下标0
print(operator1(a))
# 1
operator2 = itemgetter(0, 2, 4) # 选择下标0, 2, 4. 不能超过a的下标上限
print(operator2(a))
# (1, 3, 5)
### dict
b = {
'a': 'first',
'b': 'second'
}
operator3 = itemgetter('b') # 选择键'b'
print(operator3(b))
# second
### order list
x = [
{"语文": 80, "数学": 90, "英语": 70, "物理": 92, "化学": 83},
{"语文": 82, "数学": 70, "英语": 78, "物理": 90, "化学": 80},
{"语文": 86, "数学": 89, "英语": 73, "物理": 82, "化学": 88},
{"语文": 76, "数学": 86, "英语": 60, "物理": 82, "化学": 79},
]
# 使用itemgetter,按照语文成绩排序
x_yuwen = sorted(x, key=itemgetter("语文"))
# 使用itemgetter,按照数学成绩排序
x_shuxue = sorted(x, key=itemgetter("数学"))
# 使用匿名函数按照物理成绩排序
x_wuli = sorted(x, key=lambda x: x["物理"])
print(x_yuwen)
print(x_shuxue)
print(x_wuli)
"""
[
{'语文': 76, '数学': 86, '英语': 60, '物理': 82, '化学': 79},
{'语文': 80, '数学': 90, '英语': 70, '物理': 92, '化学': 83},
{'语文': 82, '数学': 70, '英语': 78, '物理': 90, '化学': 80},
{'语文': 86, '数学': 89, '英语': 73, '物理': 82, '化学': 88}
]
[
{'语文': 82, '数学': 70, '英语': 78, '物理': 90, '化学': 80},
{'语文': 76, '数学': 86, '英语': 60, '物理': 82, '化学': 79},
{'语文': 86, '数学': 89, '英语': 73, '物理': 82, '化学': 88},
{'语文': 80, '数学': 90, '英语': 70, '物理': 92, '化学': 83}
]
[
{'语文': 86, '数学': 89, '英语': 73, '物理': 82, '化学': 88},
{'语文': 76, '数学': 86, '英语': 60, '物理': 82, '化学': 79},
{'语文': 82, '数学': 70, '英语': 78, '物理': 90, '化学': 80},
{'语文': 80, '数学': 90, '英语': 70, '物理': 92, '化学': 83}
]
"""