lambda x: x[1] /enumerate / sorted( key=lambda x: x[1])的组合

时间:2025-04-16 10:42:33

一、lambda函数,返回列表的第二个元素
f=lambda x:x[1]
f([1,2])
Out[122]: 2

二、enumerate,输出数组下标和对应值
eg:
a = [3, 4, 1, 7, 2]
b = sorted(enumerate(a)) #这里的sorted没起实质性作用,只是为了避免输出enumerate object
print(b)
Out: [(0, 3), (1, 4), (2, 1), (3, 7), (4, 2)]

三、 sorted( key=lambda x: x[1])的组合
用sorted函数通过key=匿名函数指定(键、值)中的值为关键字进行排序。(在此例中,lambda d:d[1]是以(数组下标、数组值)中的数组值为关键字进行排序
eg:
a = [3, 4, 1, 7, 2]
c = sorted(enumerate(a), key=lambda x: x[1])
print(c)
Out: [(2, 1), (4, 2), (0, 3), (1, 4), (3, 7)]

常用的情况:Python对列表排序并得到原来对应的下标