一、了解sorted()
函数
sorted()
函数是Python内置的用于排序可迭代对象的函数,它可以接受多个参数来进行灵活的排序操作。下面是对sorted()
函数的参数要求和使用方法的详细说明:
-
参数列表:
iterable
(必需):表示要进行排序的可迭代对象,例如列表、元组、集合等。key
(可选):指定一个函数,该函数将应用于每个元素,用于生成排序的依据。默认为None
,此时使用元素本身作为排序依据。reverse
(可选):表示是否按照降序进行排序。默认为False
,即升序排序。
-
返回值:
sorted()
函数的返回值是一个新的已排序的列表。 -
使用方式:
- 最简单的用法是只传入待排序的可迭代对象,例如
sorted(iterable)
,此时会按照元素的默认顺序进行排序。 - 如果需要按照特定的条件进行排序,可以使用
key
参数来指定一个函数,该函数接受一个元素作为参数,并返回用于排序的依据。例如sorted(iterable, key=lambda x: x[0])
表示按照元素的第一个元素进行排序。 - 如果需要按照降序进行排序,可以将
reverse
参数设置为True
,例如sorted(iterable, reverse=True)
表示按照降序排序。
- 最简单的用法是只传入待排序的可迭代对象,例如
需要注意的是,sorted()
函数并不会改变原始的可迭代对象,而是返回一个新的已排序的列表。如果需要对原始可迭代对象进行排序,可以使用 list.sort()
方法。
二、应用实例
Big = [[27852, 263, 0.1], [278554, 253, 0.1], [27857, 283, 0.3], [27855, 273, 0.2]] # 根据小列表的第三个元素进行排序 sorted_big = sorted(Big, key=lambda x: x[2],reverse = True)
以上代码是假设存在一个名为Big的列表,代码通过lambda函数以大列表中每个小列表的第3个元素作为排序的依据,从大到小对Big进行排序。
首先,lambda函数 lambda x: x[2]
表示一个匿名函数,它接受一个参数x,并返回x的第三个元素值x[2]作为排序依据。
然后,sorted()
函数被调用,传入两个参数:要排序的列表 Big和排序的依据 key=lambda x: x[2]
。key
参数指定了排序的依据,在这里是列表中每个元素的第三个元素。
最后,reverse=True
参数用来指定排序顺序为从大到小,如果不指定,默认排序顺序为从小到大。
排序后的结果将被存储在一个名为sorted_big的新列表中。
三、扩展——多级列表
Big = [[27852, 263, 0.1,[3,2,1]], [278554, 253, 0.1,[0,5,2]], [27857, 283, 0.3,[1,1,0]], [27855, 273, 0.2,[7,8,9]]] # 根据子列表的第四个元素(孙列表)的第三位,从大到小,对Big列表进行排序 sorted_big = sorted(Big, key=lambda x: x[3][2], reverse=True) print(sorted_big)
依托lambda表达式,深入访问列表,确定key值,进行列表排序。
标签:函数,python,Big,元素,列表,sorted,排序 From: https://www.cnblogs.com/babashi9527/p/17559191.html