在 Python 中对元组进行排序

您所在的位置:网站首页 python升序排列代码 在 Python 中对元组进行排序

在 Python 中对元组进行排序

2023-03-28 18:00| 来源: 网络整理| 查看: 265

在 Python 中使用 list.sort() 函数对 Tuple 列表进行排序 使用 Python 中的冒泡排序算法对 Tuple 列表进行排序

在 Python 中,可以使用 Tuples 将多个项目存储在一个变量中。Tuples 列表可以像整数列表一样进行排序。

밤에 배고플 때 좋은 음식 ...

Please enable JavaScript

밤에 배고플 때 좋은 음식 11가지 다이어트에 좋아요

本教程将讨论根据元组中的第一个、第二个或第 i 个元素对元组列表进行排序的不同方法。

在 Python 中使用 list.sort() 函数对 Tuple 列表进行排序

list.sort() 函数按升序或降序对一个列表的元素进行排序。它的 key 参数指定在排序中要使用的值。key 应是一个函数或其他可调用的函数,可以应用于每个列表元素。

以下代码根据所有元组中的第二个元素对元组进行排序。

list_students = [('Vaibhhav',86), ('Manav',91) , ('Rajesh',88) , ('Sam',84), ('Richie',89)] #sort by second element of tuple list_students.sort(key = lambda x: x[1]) #index 1 means second element print(list_students)

输出:

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

通过设置 sort() 方法的 reverse 参数为 True,可以将顺序反转为降序。

下面的代码通过使用 reverse 参数将元组的列表按降序排序。

list_students = [('Vaibhhav',86), ('Manav',91) , ('Rajesh',88) , ('Sam',84), ('Richie',89)] #sort by second element of tuple list_students.sort(key = lambda x: x[1], reverse=True) print(list_students)

输出:

[('Manav',91), ('Richie',89), ('Rajesh',88), ('Vaibhhav',86), ('Sam',84)] 使用 Python 中的冒泡排序算法对 Tuple 列表进行排序

冒泡排序是一种最简单的排序算法,它的工作原理是,如果列表中相邻的元素顺序不对,就将它们交换,并重复这一步,直到列表排序完毕。

以下代码根据第二个元素对元组进行排序,并使用冒泡排序算法。

list_ = [('Vaibhhav',86), ('Manav',91) , ('Rajesh',88) , ('Sam',84), ('Richie',89)] #sort by second element of tuple pos = 1 list_length = len(list_) for i in range(0, list_length): for j in range(0, list_length-i-1): if (list_[j][pos] > list_[j + 1][pos]): temp = list_[j] list_[j]= list_[j + 1] list_[j + 1]= temp print(list_)

输出:

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

pos 变量指定了进行排序的位置,在本例中,就是第二个元素。

我们也可以使用第一个元素对元组列表进行排序。下面的程序实现了这一点。

list_ = [('Vaibhhav',86), ('Manav',91) , ('Rajesh',88) , ('Sam',84), ('Richie',89)] #sort by first element of tuple pos = 0 list_length = len(list_) for i in range(0, list_length): for j in range(0, list_length-i-1): if (list_[j][pos] > list_[j + 1][pos]): temp = list_[j] list_[j]= list_[j + 1] list_[j + 1]= temp print(list_)

输出:

[('Manav',91), ('Rajesh',88), ('Richie',89), ('Sam',84), ('Vaibhhav',86)]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3