在 Python 中,你可以使用 sorted()
方法或 sort()
方法对数据进行排序。
在本文中,我将提供 sorted()
和 sort()
方法的代码示例,并解释两者之间的区别。
Python 排序列表——如何按降序或升序排序
在 Python 中,你可以使用 sorted()
方法或 sort()
方法对数据进行排序。
在本文中,我将提供 sorted()
和 sort()
方法的代码示例,并解释两者之间的区别。
sort()方法是什么
此方法接受一个列表并对其进行排序。但,请记住此方法没有返回值,即返回None
。
下面例子中,我们有一个数字列表,我们可以使用 sort()
方法按升序对列表进行排序。
my_list = [67, 2, 999, 1, 15]
# 输入未排序列表
print("Unordered list: ", my_list)
# sort() 方法本地排序列表my_list,默认从小到达
my_list.sort()
# this prints the ordered list
print("Ordered list: ", my_list)
输出:
Unordered list: [67, 2, 999, 1, 15]
Ordered list: [1, 2, 15, 67, 999]
注意:my_list.sort()
是对列表my_list
仅本地排序,返回返回为None
。
如下代码:
my_list_1 = [6, 7, 8, 9, 10]
print(my_list_1.sort()) # my_list_1 已排序,返回为None
my_list_2 = [6, 7, 8, 9, 10]
print(my_list_2.sort()) # my_list_2 未排序,返回依然为None,但my_list_2 已经被改变了
输出:
None
None
继续思考!sort()
默认为升序排序,如果想降序排序了?
其实sort()
方法可以接受两个可选参数,称为 key
和 reverse
。
key
具有将在列表中的每个项目上调用的函数的值。
在这个例子中,我们可以使用 len()
函数作为 key
参数的值。key=len
将告诉计算机按长度从最小到最大对名称列表进行排序。
names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"]
print("Unsorted: ", names)
names.sort(key=len)
print("Sorted: ", names)
输出:
Unsorted: ['Jessica', 'Ben', 'Carl', 'Jackie', 'Wendy']
Sorted: ['Ben', 'Carl', 'Wendy', 'Jackie', 'Jessica']
reverse
有两个布尔值,True
或False
。
在这个例子中,reverse=True
将告诉计算机以逆字母顺序对列表进行排序。
names = ["Jessica", "Ben", "Carl", "Jackie", "Wendy"]
print("Unsorted: ", names)
names.sort(reverse=True)
print("Sorted: ", names)
Unsorted: ['Jessica', 'Ben', 'Carl', 'Jackie', '