假设有一个元组列表(或其他可索引的项目)
d = [('c', 1), ('a', 2), ('b', 3)]
将根据每个项目中的第一个元素进行排序,如此
s = sorted(d, key = lambda i: i[0])
这是否有标准/内置功能"首先"操作,这样可以写成类似下面的内容吗?
s = sorted(d, key = fn.first)
(定义一个本地第一个函数是微不足道的,但我对像operator.add
或类似的标准函数感到好奇。)
答案 0 :(得分:2)
使用操作员模块中的itemgetter。
from operator import itemgetter
s = sorted(d, key=itemgetter(0))
此外,您可以设计自己的first
运算符。
first = itemgetter(0)
s = sorted(d, key=first)