根据特定索引处的元素对列表/元组的列表/元组进行排序
像列表和元组这样的数据结构通常包含以下元素子列表或子元组。如果您遇到基于每个子集中的元素对此类结构进行排序的任务,以下技术提供了有效的解决方案。
使用元组或列表
元组和列表是存储数据的有效选择。元组是不可变的,这意味着它们的内容在创建后无法修改。另一方面,列表是可变的,并且允许更改其元素。出于排序目的,它们之间的选择取决于您的具体场景。
按第二个元素排序
根据第二个元素对列表/元组的列表/元组进行排序每个子集中的元素,您可以使用Python中内置的sorted()函数。此函数采用一个可选的键参数来指定排序标准。
将排序()与 Lambda 函数结合使用
一种优雅的方法是将 lambda 函数用作关键论点。例如,要按列表列表中的第二个元素排序,您可以执行以下操作:
sorted_by_second = sorted(data, key=lambda tup: tup[1])
就地排序
如果您希望排序原始列表/元组就位而不创建新的排序列表,您可以使用 sort() 方法代替。此方法还接受一个关键参数:
data.sort(key=lambda tup: tup[1]) # sorts in place
自定义排序顺序
默认情况下,按升序排序。要按降序排序,请指定反向选项:
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
按逆序就地排序
按降序对原始列表/元组进行就地排序订购,使用:
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place
以上是如何根据特定索引对列表/元组的列表/元组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!