python中list函数的sort方法使用

"""对一个列表如何去重,去重完成后如何保留顺序
list.sort(cmp=None,key=None,reverse=False)
cmp -可选参数,如果指定了该参数,会使用该参数的方法进行排序
key -主要用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素 进行排序
reverse - 排序规则 True 降序 False 升序 (默认)
传递给key的是函数名,它指定可迭代对象中的每个元素按照该函数进行排序
"""
list2 = list(set(list1))
list2.sort(key=list1.index) # 按照list1中的位置进行排序
print(list1.index)
print(list2)

"""
对于sort()中的参数key举例:
"""
# 先不带key参数的sort函数
li = [[1, 7], [1, 5], [2, 4], [1, 1]]
li.sort()
print(li)  # [[1, 1], [1, 5], [1, 7], [2, 4]] 默认按照 先0维排序,再1维排序


def fun(li):
    return li[1]


li.sort(key=fun)
print(li)  # [[1, 1], [2, 4], [1, 5], [1, 7]] 进行1维排序
"""
我们发现列表li排序是按照每个元素的第二个数进行排序的
可以使用lambda 函数进行简化
li.sort(key = lambda li:li[1])
其中的li是变量名,则可以简化为
li.sort(key = lambda x:x[1])
"""

 

posted @ 2021-08-21 10:33  GalaxyStar  阅读(1524)  评论(0编辑  收藏  举报