Python基础总结之列表排序
在Python中,你可以使用
sort()
方法或者sorted()
函数来对列表进行升序排列。sort()
方法会就地修改列表,而sorted()
函数会返回一个新的排序列表,原列表不变。
使用sort()
方法
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort()
print(my_list) # 输出: [1, 1, 2, 3, 4, 5, 5, 6, 9]
使用sorted()
函数
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_list = sorted(my_list)
print(sorted_list) # 输出: [1, 1, 2, 3, 4, 5, 5, 6, 9]
print(my_list) # 原列表不变: [3, 1, 4, 1, 5, 9, 2, 6, 5]
降序排列
如果你想进行降序排列,可以通过在sort()
方法或sorted()
函数中设置reverse=True
参数来实现。
使用sort()
方法:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
my_list.sort(reverse=True)
print(my_list) # 输出: [9, 6, 5, 5, 4, 3, 2, 1, 1]
使用sorted()
函数:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_list = sorted(my_list, reverse=True)
print(sorted_list) # 输出: [9, 6, 5, 5, 4, 3, 2, 1, 1]
print(my_list) # 原列表不变: [3, 1, 4, 1, 5, 9, 2, 6, 5]
自定义排序
如果你需要按照自定义的规则对列表进行排序,可以传递一个函数给key
参数,该函数会在每个元素上调用,并根据返回值进行排序。
例如,按字符串长度排序:
my_list = ['apple', 'banana', 'cherry']
sorted_list = sorted(my_list, key=len)
print(sorted_list) # 输出: ['apple', 'cherry', 'banana']
在这个例子中,len
函数被用作key
参数,因此列表中的字符串会根据它们的长度进行排序。