python中sort()和sorted()的区别及用法实例

 更新时间:2022年06月23日 09:50:44   作者:兴涛  
我们通常会遇到对数据库中的数据进行排序的问题,下面这篇文章主要给大家介绍了关于python中sort()和sorted()的区别及用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

本文主要讲sort与sorted的主要区别,以便正确使用

一、

  • sort()只能用于列表;sorted()可以用于所有可迭代对象;

比如:

str_a = "blue"
print(sorted(str_a))
>>>['b', 'e', 'l', 'u']

二、

  • sort()对列表排序是进行原处排序,并不会返回新的列表;
  • sorted()排序后会返回一个新的列表;

比如:

对于sort()来说:
lis_a = [5,4,3,2,1]
lis_a.sort()
print(lis_a)
>>>[1, 2, 3, 4, 5]

对于sorted()来说:
lis_a = [5,4,3,2,1]
lis_b = sorted(lis_a)
print(lis_a)
print(lis_b)
>>>[5, 4, 3, 2, 1]
>>>[1, 2, 3, 4, 5]
  • 为什么会有两种方法,而不简单的使用一种方法就行了呢?

下面是我的个人理解,可能并不全对,如有纰漏望指正。 我认为,因为列表是可变序列,所以可以原地修改,也即可以原地排序。但是对于字符串等可迭代对象来说,是属于不可变的,是不可以原处修改的。sort()方法属于原地修改,所以可能只能用于列表,对于其他不可变的可迭代对象就创造了另一种sorted()方法。

  • 还有一点浅层的就是,sort()因为是原处排序,所以对原列表进行了修改。如果你不想改变原列表,那么python提供了sorted()方法。
  • 可能有人不懂什么是原处修改?如果理解就不必往下看。

比如:

可变序列:lis_a = ['a','b','c','d','e','f']
不可变序列:str_a = "abcdef"
lis_a[0] = 1
str_a[0] = 1      #序列均可进行下标索引操作
print(lis_a)
print(str_a)

那么就会报错

但是对于列表来说则是:

python中输入字符串转列表的注意问题

python中使用input()来从键盘输入字符串 而这个操作稍微不注意 ==会出现一些问题,== 比如说将输入的字符串转为列表:

a = input()
lis = list(a)
print(lis)

当你输入一行字符串以空格间隔时:

那么你可能会想我把a中空格去掉就ok了,你可能会想到使用replace方法。==但是如果你输入负数呢?==

所以面对这些问题,我们可以使用split()方法:

a = input().split()
lis = list(a)
print(lis)

当以空格间隔的时候split()括号内不需要放任何参数:

如果你用逗号间隔,那么需要改为:input().split(",")

其实,一般当使用空格间隔的时候,才容易出现上述问题。

总结

到此这篇关于python中sort()和sorted()区别及用法的文章就介绍到这了,更多相关python sort()和sorted()区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python PyQt4实现QQ抽屉效果

    Python PyQt4实现QQ抽屉效果

    这篇文章主要为大家详细介绍了Python PyQt4实现QQ抽屉效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python matplotlib工具栏源码探析二之添加、删除内置工具项的案例

    python matplotlib工具栏源码探析二之添加、删除内置工具项的案例

    这篇文章主要介绍了python matplotlib工具栏源码探析二之添加、删除内置工具项的案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python中常用的统计检验代码分享

    Python中常用的统计检验代码分享

    统计检验是数据分析中的重要工具,用于检验数据集中的差异、关联和分布等统计性质,本文为大家整理了常见的统计检验方法,希望对大家有所帮助
    2024-01-01
  • python如何遍历指定路径下所有文件(按按照时间区间检索)

    python如何遍历指定路径下所有文件(按按照时间区间检索)

    这篇文章主要给大家介绍了关于python如何遍历指定路径下所有文件(按按照时间区间检索)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 如何基于Python爬虫爬取美团酒店信息

    如何基于Python爬虫爬取美团酒店信息

    这篇文章主要介绍了如何基于Python爬虫爬取美团酒店信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python图形界面tkinter的使用技巧

    python图形界面tkinter的使用技巧

    这篇文章主要介绍了python图形界面tkinter的使用技巧,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python利用PyAutoGUI模块实现控制鼠标键盘

    Python利用PyAutoGUI模块实现控制鼠标键盘

    PyAutoGUI是一个简单易用,跨平台的可以模拟键盘鼠标进行自动操作的python库。本文将详细讲讲它是如何实现控制鼠标键盘的,感兴趣的可以了解一下
    2022-06-06
  • python将txt文件读入为np.array的方法

    python将txt文件读入为np.array的方法

    今天小编就为大家分享一篇python将txt文件读入为np.array的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python 敏感词过滤的实现示例

    Python 敏感词过滤的实现示例

    本文主要介绍了Python 敏感词过滤的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • pyqt5移动鼠标显示坐标的方法

    pyqt5移动鼠标显示坐标的方法

    今天小编就为大家分享一篇pyqt5移动鼠标显示坐标的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论