Python 基础进阶学习

02 列表和元组

2019-06-20  本文已影响0人  leacoder

目录链接:https://www.jianshu.com/p/e1e201bea601

列表和元组基础

列表和元组, 都是一·个可以放置任意数据类型的有序集合。
在绝大多数编程语言中, 集合的数据类型必须一致。 不过, 对于 Python 的列表和元组来说, 并无此要求:

list1 = ['Google', 'Runoob', 1997, 2000];
tup1 = ('Google', 'Runoob', 1997, 2000);

列表和元组区别:

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,

#!/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]

列表和元组相同处:

列表和元组常见的内置函数,参见如下链接
https://www.runoob.com/python3/python3-list.html
https://www.runoob.com/python3/python3-tuple.html

列表和元组存储方式的差异

image.png

放置了相同的元素, 但是元组的存储空间, 却比列表要少 16 字节。
由于列表是动态的, 所以它需要存储指针, 来指向对应的元素(上述例子中, 对于 int型, 8 字节) 。 另外, 由于列表可变, 所以需要额外存储已经分配的长度大小(8 字节) , 这样才可以实时追踪列表空间的使用情况, 当空间不足时, 及时分配额外空间。

参考资料:

极客时间 Python核心技术与实战学习

Python核心技术与实战(极客时间)链接:
http://gk.link/a/103Sv

Python3 列表:
https://www.runoob.com/python3/python3-list.html

Python3 元组:
https://www.runoob.com/python3/python3-tuple.html


GitHub链接:
https://github.com/lichangke/LeetCode

知乎个人首页:
https://www.zhihu.com/people/lichangke/

简书个人首页:
https://www.jianshu.com/u/3e95c7555dc7

个人Blog:
https://lichangke.github.io/

欢迎大家来一起交流学习

上一篇 下一篇

猜你喜欢

热点阅读