通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

列表和元组有什么区别

列表和元组的区别是列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。

一、列表和元组的区别

列表和元组的区别是列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。

元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。

列表list:有序,可变。

元组tuple:有序,不可变。

字典dict:无序,字典的key是不可变的,值是可变的;在python中字符串,数字,元组都是不可变的对象。

序列:列表,元组和字符串都序列;即成员有序排列,可以通过下标访问,可以进行切片操作。字符串(普通字符串和unicode字符串)

集合:没有顺序的简单对象的聚集。可以检查成员是否存在,是否是另一个集合的子集,得到两个集合的交集等等

复制一个列表或者类似的序列或者其他复杂对象,那么必须使用切片操作符来去的拷贝。当你创建一个对象并将它赋值给一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身。也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。

延伸阅读:

二、需要元祖的原因

通过对比列表和元组存储方式的差异,我们可以引申出这样的结论,即元组要比列表更加轻量级,所以从总体上来说,元组的性能速度要由于列表。
另外,Python 会在后台,对静态数据做一些资源缓存。通常来说,因为垃圾回收机制的存在,如果一些变量不被使用了,Python 就会回收它们所占用的内存,返还给操作系统,以便其他变量或其他应用使用。
但是对于一些静态变量(比如元组),如果它不被使用并且占用空间不大时,Python 会暂时缓存这部分内存。这样的话,当下次再创建同样大小的元组时,Python 就可以不用再向操作系统发出请求去寻找内存,而是可以直接分配之前缓存的内存空间,这样就能大大加快程序的运行速度。

以上就是关于列表和元祖的内容希望对大家有帮助。

相关文章