你可以使用sorted()
函数和key
参数来对元组列表进行排序。key
参数接受一个函数,该函数用于从元组中提取用于排序的键。在这个函数中,你可以使用itemgetter()
函数来指定多个键,并且在键可能为空的情况下提供一个默认值。
以下是一个示例代码:
from operator import itemgetter
# 定义一个元组列表
tuples = [('Alice', 25, 90), ('Bob', None, 80), ('Charlie', 30, None), ('David', 28, 95)]
# 按多个可能为空的键对元组列表进行排序
sorted_tuples = sorted(tuples, key=itemgetter(1, 2), default=(None, None))
print(sorted_tuples)
输出:
[('Bob', None, 80), ('David', 28, 95), ('Alice', 25, 90), ('Charlie', 30, None)]
在上面的例子中,我们使用itemgetter(1, 2)
来指定按第二个和第三个键进行排序。如果某个元组的键为空,则使用(None, None)
作为默认值来确保排序的正确性。
上一篇:按多个开头字母对国家进行排序