在Python中,对数字进行从大到小排序主要有以下两种方法:
一、使用sorted()
函数
-
基本用法 通过设置
reverse=True
参数实现降序排序,返回新列表。 ```python numbers = [5, 2, 8, 1, 9] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出: [9, 8, 5, 2, 1] -
适用场景
适用于任何可迭代对象(如列表、元组等),且不改变原数据。
二、使用list.sort()
方法
-
基本用法
直接在原列表上调用,通过
reverse=True
参数实现降序排序,修改原列表。numbers = [5, 2, 8, 1, 9] numbers.sort(reverse=True) print(numbers) # 输出: [9, 8, 5, 2, 1]
-
适用场景
仅适用于列表对象,且会直接修改原列表。
补充说明 :
-
若需对字典按值排序,可结合
sorted()
函数使用lambda
表达式,例如:my_dict = {'a': 3, 'b': 1, 'c': 2} sorted_dict = dict(sorted(my_dict.items(), key=lambda item: item, reverse=True)) print(sorted_dict) # 输出: {'a': 3, 'c': 2, 'b': 1}
-
输入多个数字时,建议将输入转换为整数列表后使用上述方法,例如:
numbers = [int(input(f"请输入第{i+1}个整数: ")) for i in range(3)] numbers.sort(reverse=True) print(numbers)