列表和元组有什么区别?
一、列表和元组的区别
列表和元组的区别是列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。元组是静态的,长度大小固定,无法增加删减或者改变(immutable)。
元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
列表list:有序,可变。
元组tuple:有序,不可变。
字典dict:无序,字典的key是不可变的,值是可变的;在python中字符串,数字,元组都是不可变的对象。
序列:列表,元组和字符串都序列;即成员有序排列,可以通过下标访问,可以进行切片操作。字符串(普通字符串和unicode字符串)
集合:没有顺序的简单对象的聚集。可以检查成员是否存在,是否是另一个集合的子集,得到两个集合的交集等等
复制一个列表或者类似的序列或者其他复杂对象,那么必须使用切片操作符来去的拷贝。当你创建一个对象并将它赋值给一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身。也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。
延伸阅读:
二、需要元祖的原因
通过对比列表和元组存储方式的差异,我们可以引申出这样的结论,即元组要比列表更加轻量级,所以从总体上来说,元组的性能速度要由于列表。
另外,Python 会在后台,对静态数据做一些资源缓存。通常来说,因为垃圾回收机制的存在,如果一些变量不被使用了,Python 就会回收它们所占用的内存,返还给操作系统,以便其他变量或其他应用使用。
但是对于一些静态变量(比如元组),如果它不被使用并且占用空间不大时,Python 会暂时缓存这部分内存。这样的话,当下次再创建同样大小的元组时,Python 就可以不用再向操作系统发出请求去寻找内存,而是可以直接分配之前缓存的内存空间,这样就能大大加快程序的运行速度。
以上就是关于列表和元祖的内容希望对大家有帮助。
相关推荐HOT
更多>>PC端有哪些推荐的时间管理软件?
一、PC端推荐的时间管理软件1. Desk较好CalDesk较好Cal是我自认为较好用的桌面日程安排软件,软件界面简洁大方,使用超级简单。打开软件后,软...详情>>
2023-10-18 23:35:50什么是okr?
一、okr介绍简介OKR(Objectives and Key Results)全称为“目标和关键成果”,是企业进行目标管理的一个简单有效的系统,能够将目标管理自上而下...详情>>
2023-10-18 21:29:22什么是图层蒙版?
一、图层蒙版介绍图层蒙版是在当前图层上面覆盖一层玻璃片,这种玻璃片有透明的、半透明的、完全不透明的,图层蒙版是Photoshop中一项十分重要...详情>>
2023-10-18 20:27:42外部排序算法有哪些?
一、外部排序算法1. 路归并假设各片段均已采用内排序算法进行排序,外排序归并最简单使用的是2路归并,每次读入2路有序片段的前m个元素进行归并...详情>>
2023-10-18 14:59:43