我如何在sort()函数中指定关键参数,而参数却是复杂的呢?

时间:2019-03-09 13:18:25

标签: python python-3.x

我有一个嵌套列表,其中包含格式为['name',float_val]的元素。

Nlist = [['naveen',31.5],['murali',44.1],['sai',23.1],['satya',23.1]]

我想按float对象对上述嵌套列表进行排序。 我应该如何在sort()函数中指定'key'参数以满足我的需要?

2 个答案:

答案 0 :(得分:0)

使用此

sort(x, key=lambda x: x[1])

答案 1 :(得分:0)

根据原始的Python documentation

  

list.sort()和sorted()都有一个关键参数来指定   在制作之前在每个列表元素上调用的函数   比较。

请注意,您可以同时使用list.sort()sorted()

  

Python列表具有内置的list.sort()方法,用于修改列表   就地。还有一个sorted()内置函数可构建   迭代的排序列表。

您可以找到一些有用的示例here

# take second element for sort
def takeSecond(elem):
    return elem[1]

# your list
Nlist = [['naveen',31.5],['murali',44.1],['sai',23.1],['satya',23.1]]

# sort list with key
Nlist.sort(key=takeSecond)

# print list
print('Sorted list:', Nlist)

退出:

Sorted list: [['sai', 23.1], ['satya', 23.1], ['naveen', 31.5], ['murali', 44.1]]