欢迎访问宙启技术站
智能推送

Python函数:如何对列表、元组和字典进行排序

发布时间:2023-07-06 11:21:52

在Python中,可以使用内置的sorted()函数对列表、元组和字典进行排序。sorted()函数可以接受一个可迭代对象作为参数,并返回一个排序后的列表。

对列表进行排序:

my_list = [3, 1, 2, 5, 4]
sorted_list = sorted(my_list)
print(sorted_list)  # 输出 [1, 2, 3, 4, 5]

对元组进行排序:

my_tuple = (3, 1, 2, 5, 4)
sorted_tuple = sorted(my_tuple)
print(sorted_tuple)  # 输出 [1, 2, 3, 4, 5]

对字典进行排序:

my_dict = {'b': 2, 'c': 3, 'a': 1}
# 对字典按照键进行排序
sorted_dict_keys = sorted(my_dict.keys())  # 返回排序后的键列表
print(sorted_dict_keys)  # 输出 ['a', 'b', 'c']

# 对字典按照值进行排序
sorted_dict_values = sorted(my_dict.values())  # 返回排序后的值列表
print(sorted_dict_values)  # 输出 [1, 2, 3]

# 对字典按照键值对进行排序
sorted_dict_items = sorted(my_dict.items())  # 返回排序后的键值对列表
print(sorted_dict_items)  # 输出 [('a', 1), ('b', 2), ('c', 3)]

可以发现,sorted()函数对列表和元组排序时,直接返回一个排序后的列表或元组。而对字典排序时,可以通过sorted()函数对键、值或键值对进行排序,并返回相应的排序后的列表。

此外,可以通过参数reverse=True来实现降序排列,默认情况下是升序排列。例如:

my_list = [3, 1, 2, 5, 4]
sorted_list_reverse = sorted(my_list, reverse=True)
print(sorted_list_reverse)  # 输出 [5, 4, 3, 2, 1]

需要注意的是,sorted()函数不会改变原来的列表、元组或字典,而是返回一个排序后的新对象。如果想在原对象上进行排序,可以使用列表的sort()方法或字典的sorted()方法。