今天爱分享给大家带来Python 列表list的sort方法和sorted方法有何区别?【面试题详解】,希望能够帮助到大家。
Python 对列表的排序提供了两种方法,一种是自带的 sort(),另一种方法是内置方法 sorted。可以用内置函数 help() 来查看 sort()方法 和 sorted()方法的详细说明。
列表的 sort 方法和内置方法 sorted 都有 key 和 reverse 参数, key 参数接收一个函教来实现自定义的排序,例如key=abs 按绝对值大小排序。reverse 默认值是False,表示不需要反向排序,如果需要反向排序,那么可以将 reverse 的值设置为 True
sort 是列表方法,只可用来对列表进行排序,是在原序列上进行修改,不会产生新的序列。内置的 sorted 方法可以用于任何可迭代的对象 (字符串、列表、元组、字典等),它会产生一个新的序列,旧的对象依然存在。如果不需要旧的列表序列,那么可以采用 sort 方法。
# list的sort()方法对列表排序 seq = [1, 3, 5, 4, 2, 6] print("原来的序列: ", seq) seq.sort() print("sort 排序后的序列: ", seq) # 内置 sorted()方法对列表排序 seq = [1, 3, 5, 4, 2, 6] s = sorted(seq) print("原来的序列: ", seq) print("sort 排序后的序列: ", seq) print("sort 排序后的新序列: ", s) # 内置sorted()方法对字符串排序 seq = "135426" s = sorted(seq) print("原来的序列: ", seq) print("sort 排序后的序列: ", seq) print("sort 排序后的新序列: ", s)
运行结果如下图所示: