Python列表与元组

列表和元组是Python中最常用的两种数据结构,字典是第三种。
相同点:

1.都是序列
2.都可以存储任何数据类型
3.可以通过索引访问
不同点:
语法差异
使用方括号[]创建列表,而使用括号()创建元组。 请看以下示例:

 

是否可变
列表是可变的,而元组是不可变的,这标志着两者之间的关键差异。
注:如果不了解什么是可变/不可变数据类型,可以了解 https://blog.csdn.net/weixin_43992198/article/details/89737656

我们可以修改列表的值,但是不修改元组的值。

 


由于列表是可变的,我们不能将列表用作字典中的key。 但可以使用元组作为字典key。

 


重用与拷贝
元组无法复制。 原因是元组是不可变的。 如果运行tuple(tuple_name)将返回自己。

内存大小差异
Python将低开销的较大的块分配给元组,因为它们是不可变的。 对于列表则分配小内存块。 与列表相比,元组的内存更小。 当你拥有大量元素时,元组比列表快。列表的长度是可变的。

 


同构与异构
存储的数据类型不同,即异构元素
存储的数据类型相同,即同构元素

元组一般用于存储异构元素
比如用 tuple 来记录一个人的身高、体重、年龄。

person = (“zhangsan”, 20, 180, 80)

比如记录坐标上的某个点

point = (x, y)

列表一般用于存储 同构元素
比如下面的都是字符串类型

[“zhangsan”, “Lisi”, “wangwu”]
再比如 list 存放的多条用户记录

[(“zhangsan”, 20, 180, 80),
(“wangwu”, 20, 180, 80)]

数据库操作中查询出来的记录就是由元组构成的列表结构。

我的博客园:https://www.cnblogs.com/yyl102

我的CSDN:https://blog.csdn.net/weixin_43992198

posted on 2019-05-02 12:37  灵儿102  阅读(283)  评论(0编辑  收藏  举报

导航