list.sort方法和内置函数sorted
针对两种排序作了小小的对比,希望对您有所帮助!
a = [1, 8, 9, 7, 5, 6, 10]
a.sort()
print(a)
输出结果:
a = [1, 8, 9, 7, 5, 6, 10]
b = sorted(a)
print(b)
输出结果:
以上两种排序操作,从运行来看并没有什么不同,都是列表进行了排序操作,但是我们想要是他们排序的区别在哪里,所有我们对两种排序进行了打断点运行操作,如下图展示:
首先是【sort排序】
断点运行完成后,我们看到是,sort排序是在原数据基础上进行就地排序操作
其次是【sorted排序】
断点运行完成后,我们看到是,sorted排序是不在原数据基础上进行操作,而生成一个新的列表进行返回
最后,sort排序是只可对列表进行操作,而sorted可以对任何可迭代对象作为参数进行排序操作(元组、列表、字符串、字典、集合等),但最终返回的都是列表类型 。
字符串操作:
str_a = '854623'
str_b = sorted(str_a)
print(str_b)
字符串sorted过后展示效果:
元组操作:
tuple_a = (8, 9, 1, 4, 50, 40)
tuple_b = sorted(tuple_a)
print(tuple_b)
元组sorted过后展示效果:
字典操作:
dict_a = {'a': 1, 'c': 6, 'b': 6}
dict_b = sorted(dict_a)
print(dict_b)
字典sorted过后展示效果:
集合操作:
set_a = {9, 5, 6, 7, 5, 8}
set_b = sorted(set_a)
print(set_b)
集合sorted过后展示效果:
在sort和sorted中都有一个reverse参数,这个参数的默认值是False,如果我们把默认值改为True时,被排序的序列里的元素会以降序输出
a = [9, 5, 6, 7, 5, 8]
a.sort(reverse=True)
print(a)
b = sorted(a, reverse=True)
print(b)
更改reverse值为True后运行完成的效果:
以上就是我的遇坑的总结,可能会解决你的问题,也可能解决不了你的问题,但还是希望对您有所帮助,感谢阅读!
一直都在努力变好中,希望您也是,加油!