[Python核心技术与实战学习] 02 列表和元组
发布日期:2021-06-29 17:11:30
浏览次数:2
分类:技术文章
本文共 1191 字,大约阅读时间需要 3 分钟。
列表和元组基础
列表和元组, 都是一·个可以放置任意数据类型的有序集合。
在绝大多数编程语言中, 集合的数据类型必须一致。 不过, 对于 Python 的列表和元组来说, 并无此要求:list1 = ['Google', 'Runoob', 1997, 2000];tup1 = ('Google', 'Runoob', 1997, 2000);
列表和元组区别:
- 列表是动态的, 长度大小不固定, 可以随意地增加、 删减或者改变元素(mutable) 。列表的存储空间略大于元组, 性能略逊于元组。
- 元组是静态的, 长度大小固定,无法增加删减或者改变(immutable) 。元组相对于列表更加轻量级, 性能稍优。
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,
#!/usr/bin/python3 tup1 = (12, 34.56);tup2 = ('abc', 'xyz') # 以下修改元组元素操作是非法的。# tup1[0] = 100 # 创建一个新的元组tup3 = tup1 + tup2;print (tup3)
对已有的元组做任何"改变",只能重新开辟⼀块内存, 创建新的元组了。
下面的例子, 我们想增加一个元素 5 给元组, 实际上就是创建了一个新的元组, 然后把原来两个元组的值依次填充进去。 列表来说,只需简单地在列表末尾, 加⼊对应元素就可以了。tup = (1, 2, 3, 4)new_tup = tup + (5, ) # 创建新的元组 new_tup,并依次填充原元组的值new _tup(1, 2, 3, 4, 5)l = [1, 2, 3, 4]l.append(5) # 添加元素 5 到原列表的末尾l[1, 2, 3, 4, 5]
列表和元组相同处:
- 列表和元组都支持负数索引, -1 表示最后一个元素, -2 表示倒数第二个元素, 以此类推
- 列表和元组都支持切片操作
- 列表和元组都可以随意嵌套
- 两者也可以通过 list() 和 tuple() 函数相互转换
列表和元组常见的内置函数,参见如下链接
列表和元组存储方式的差异
image.png
放置了相同的元素, 但是元组的存储空间, 却比列表要少 16 字节。
由于列表是动态的, 所以它需要存储指针, 来指向对应的元素(上述例子中, 对于 int型, 8 字节) 。 另外, 由于列表可变, 所以需要额外存储已经分配的长度大小(8 字节) , 这样才可以实时追踪列表空间的使用情况, 当空间不足时, 及时分配额外空间。参考资料:
极客时间 Python核心技术与实战学习
Python核心技术与实战(极客时间)链接:
Python3 列表:
Python3 元组:
GitHub链接:
知乎个人首页:
简书个人首页:
个人Blog:
欢迎大家来一起交流学习
转载地址:https://blog.csdn.net/leacock1991/article/details/101467195 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月07日 10时48分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
nginx容器内查看ip的方法
2019-04-30
Apache 代理的配置
2019-04-30
使用curl进行文件上传
2019-04-30
使用php的crul函数进行上传
2019-04-30
WINDOWS文件夹共享到虚拟机的容器里面
2019-04-30
在docker容器上添加新的映射卷
2019-04-30
在nginx容器中安装mysql-server失败的解决办法
2019-04-30
vue-element-admin常用配置
2019-04-30
解决CRMEB跨域问题
2019-04-30
PHP边缘技巧记录
2019-04-30
CRMEB商业版聊天模块的学习(一)
2019-04-30
windows7下vscode通过ssh编辑服务器代码的方法
2019-04-30
在docker容器中添加SSH支持的办法
2019-04-30
CentOS7安装高版本的php
2019-04-30
CentOS7升级Git2的办法
2019-04-30
阿里云CentOS8安装nginx+php-fpm
2019-04-30
VSCode使用SVN插件
2019-04-30
在Centos7下把mariadb更换为MySQL的一些问题
2019-04-30
CentOS在使用nginx之后添加SVN的http支持
2019-04-30
调试CRME后台的SQL语句(ThinkPHP6)
2019-04-30