详解Python对一个元组按值排序

  • Post category:Python

下面是Python程序对一个元组按值排序的完整攻略,包含以下内容:

  1. 需要进行排序的元组的创建
  2. 排序方法的介绍和选择
  3. 排序结果的输出

1. 创建需要排序的元组

首先需要创建一个需要进行排序的元组,可以通过tuple()方法或者直接在元组中赋值生成。

# 使用tuple()方法创建元组
tup1 = tuple([3,2,1,4,5])
# 直接在元组中赋值生成
tup2 = (7,6,8,9,10)

2. 排序方法的介绍和选择

Python中有多种排序方法,常见的有sorted()方法和sort()方法,它们的使用方法略有区别。

  • sorted()方法

sorted()方法返回一个新的列表,由原来的元组排序后生成。语法如下:

sorted(iterable[, key][, reverse])

其中:
– iterable 为需要排序的元组;
– key 是可选参数,如果指定了该参数,会以该参数的方式进行排序;
– reverse 也是可选参数,如果为 True,则降序排序。默认为 False。

  • sort()方法

sort()方法在原来的元组中直接进行排序,不会生成新的元组。语法如下:

tuple.sort(key=..., reverse=...)

3. 排序结果的输出

无论使用哪种排序方法,都需要输出排序结果,可以使用print()函数或者for循环输出。下面会有示例说明。

下面分别给出使用sorted()方法和sort()方法排序的示例说明:

使用sorted()方法排序的示例

使用sorted()方法对元组tup1进行排序:

tup1 = tuple([3,2,1,4,5])
# 按数值进行排序,由小到大
sorted_tup1 = sorted(tup1)
print(sorted_tup1)

输出结果为:

[1, 2, 3, 4, 5]

使用sorted()方法对元组tup2按照自定义排序规则进行排序:

tup2 = (7,6,8,9,10)
# 按数字整除2之后的值进行排序,由大到小
sorted_tup2 = sorted(tup2, key=lambda x:x//2, reverse=True)
print(sorted_tup2)

按照自定义的排序规则,输出的结果为:

[10, 9, 8, 6, 7]

使用sort()方法排序的示例

使用sort()方法对元组tup1进行排序:

tup1 = tuple([3,2,1,4,5])
# 对原来的元组进行排序,由小到大
list1 = list(tup1)
list1.sort()
sorted_tup1 = tuple(list1)
print(sorted_tup1)

输出结果为:

(1, 2, 3, 4, 5)

使用sort()方法对元组tup2按照自定义排序规则进行排序:

tup2 = (7,6,8,9,10)
# 对原来的元组直接排序,按数字整除2之后的值进行排序,由大到小
list2 = list(tup2)
list2.sort(key=lambda x:x//2, reverse=True)
sorted_tup2 = tuple(list2)
print(sorted_tup2)

按照自定义的排序规则,输出的结果为:

(10, 9, 8, 6, 7)

以上就是Python程序对一个元组按值排序的完整攻略。