📅  最后修改于: 2023-12-03 14:46:07.335000             🧑  作者: Mango
在Python中,sorted()
和sort()
是两种不同的方法,可用于对列表进行排序。它们的区别主要在于它们的功能和使用方式。
sort()
是列表对象的方法,用于对原列表进行排序。它会直接修改原列表,将列表元素按照指定的排序规则进行排序。sort()
没有返回值,因此无法赋值给其他变量。
numbers = [5, 2, 8, 1, 6]
numbers.sort() # 对原列表进行排序
print(numbers) # 输出结果: [1, 2, 5, 6, 8]
sorted()
是一个内置函数,用于对任意可迭代对象(例如列表、元组、字符串等)进行排序。它会返回一个新的已排序的列表,并不会修改原始对象。
numbers = [5, 2, 8, 1, 6]
sorted_numbers = sorted(numbers) # 对列表进行排序,将排序结果赋值给新变量
print(sorted_numbers) # 输出结果: [1, 2, 5, 6, 8]
print(numbers) # 原列表不变,输出结果: [5, 2, 8, 1, 6]
无论是sort()
还是sorted()
,都可以通过传递参数来指定排序规则。默认情况下,它们按照升序排列,但也可以通过使用reverse=True
参数来进行降序排列。
numbers = [5, 2, 8, 1, 6]
# 在 sort() 中指定排序规则
numbers.sort(reverse=True) # 降序排列
print(numbers) # 输出结果: [8, 6, 5, 2, 1]
# 在 sorted() 中指定排序规则
sorted_numbers = sorted(numbers, reverse=True) # 降序排列
print(sorted_numbers) # 输出结果: [8, 6, 5, 2, 1]
print(numbers) # 原列表不变,输出结果: [5, 2, 8, 1, 6]
sort()
是列表对象的方法,会直接修改原列表,没有返回值。sorted()
是一个内置函数,会返回一个新的已排序的列表,不会修改原始对象。在实际使用过程中,应根据具体需求选择sort()
和sorted()
方法。如果需要修改原始列表并进行排序,使用sort()
。如果希望保留原始列表并获得排序结果,使用sorted()
。
注:此回答使用Markdown格式进行书写,以便更好地展示和呈现代码片段和文本内容。