排序是Python编程中常见的操作之一。为了对一个元组按值排序,可以使用内置的sorted()函数或sort()方法。下面就对此进行详细讲解。
排序方法
sorted()函数排序
sorted()函数可以将可迭代对象进行排序,并返回一个排好序的列表。sorted()函数可以接收两个参数,分别是要排序的对象和排序的关键字。
# 按第一个值排序
data = [(2, "two"), (1, "one"), (3, "three")]
sorted_data = sorted(data, key=lambda x: x[0])
print(sorted_data)
# 按第二个值排序
data = [(2, "two"), (1, "one"), (3, "three")]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)
输出:
[(1, 'one'), (2, 'two'), (3, 'three')]
[(1, 'one'), (3, 'three'), (2, 'two')]
sort()方法排序
sort()方法是用于对列表进行排序的方法,sort()方法需要改变列表本身,不会返回新的列表。sort()方法也可以接收一个key参数用于按照指定的规则排序。
# 按第一个值排序
data = [(2, "two"), (1, "one"), (3, "three")]
data.sort(key=lambda x: x[0])
print(data)
# 按第二个值排序
data = [(2, "two"), (1, "one"), (3, "three")]
data.sort(key=lambda x: x[1])
print(data)
输出:
[(1, 'one'), (2, 'two'), (3, 'three')]
[(1, 'one'), (3, 'three'), (2, 'two')]
总结
Python内置的sorted()函数和sort()方法都可以用于排序,前者返回新的列表,后者改变原列表。这两种方法都可以接收一个key参数用于按照指定规则排序。