Python列表,元组,集合,字典的区别和相互

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python列表,元组,集合,字典的区别和相互相关的知识,希望对你有一定的参考价值。

元组和列表是类似的, 只是元组不可修改内容

注意这里指的是不可修改元组元素的指向, 你可以修改内容指向的内容

>>> lst = [1, 2, 3]        # 定义列表
>>> a = (1, 2, lst, 4)    # 注意元组a的a[2]是一个列表
>>> a
(1, 2, [1, 2, 3], 4)
>>> a[2] = 4            # 试图修改元组元素的指向, 报错
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    a[2] = 4
TypeError: 'tuple' object does not support item assignment
>>> a[2][0] = 0        # 不修改元组元素的指向的元素, 但是修改指向的内容
>>> a
(1, 2, [0, 2, 3], 4)
>>> a[2].append(5)    # 不修改元组元素的指向的元素, 但是修改指向的内容
>>> a
(1, 2, [0, 2, 3, 5], 4)

字典完全区别于列表和元组

因为字典使用hash表来存储, 所以只有能够进行hash运算的才能作为键值

个人认为, 一般不可变的都能作为键, 比如str/tuple/None/function.列表不能作为键

最后, 由于字典是hash表算法字典查找O(1), 列表遍历O(n), 在数据量巨大的时候, 字典的查找效率出奇的高

参考技术A 列表是一组值,其中的值可以改变
元组也是一组值,其中的值不能改变
列表与元组可以相互转换
集合是一组唯一的无顺序的值
字典是无固定顺序的键值对
参考技术B Python列表,元组,集合,字典的区别和相互转

python基础-列表 元组 集合 字典区别和用法

参考技术A

Python中有六个标准的数据类型:Number(数字),String(字符串),List(列表),Tuple(元组),Set(集合),Dictionary(字典)。其中:Number(数字)、String(字符串)、Tuple(元组)是不可变数据,其余三种是可变数据。

转义字符

输出结果

布尔值
布尔值是一个逻辑值,只有真(True)和假(False)

输出结果

Python数据结构包括列表(list)、元组(tuple)、集合(set)、字典(dict)等,这里主要讲解列表,列表有两个特点:

输出结果

修改表中元素

输出结果

列表中插入元素

输出结果

输出列表中的元素

输出结果

元素是否在列表元素中及统计个数

输出结果

查找某个元素在列表中的位置

输出结果

顺序结构

输出结果

if 条件 1

输出结果

if 条件 2

输出结果

循环结构

输出结果

循环语句求和

输出结果

可重复,类型可不同。 类型不同也是跟数组最本质的区别。 python里的列表用“[]”表示: 

对比a和b的结果

列表的 --- 增 -- 删 -- 改 -- 查

循环输出列表内容,在结尾添加指定的内容

字符串是 Python 中最常用的数据类型。 我们可以使用引号(\'或")来创建字符串。

元组与列表相似,不一样之处在于 元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组建立很简单,只须要在括号中添加元素,并使用逗号隔开便可。

字典是另外一种可变容器模型,且可存储任意类型对象。
字典的每一个键值(key=>value)对用冒号(:)分割,每一个对之间用逗号(,)分割,整个字典包括在花括号()中 ,格式以下所示:
d = key1 : value1, key2 : value2

字典函数

集合(set)是一个 无序的不重复元素序列。
可使用大括号 或者 set() 函数建立集合,注意:建立一个空集合必须用 set() 而不是 ,由于 是用来建立一个空字典。
它的主要做用以下: 1.去重,把一个列表变成集合,就自动去重了 。2.关系测试,测试两组数据以前的交集、差集、并集等关系。

关系测试

输出结果

元素的添加和删除

以上是关于Python列表,元组,集合,字典的区别和相互的主要内容,如果未能解决你的问题,请参考以下文章

Python列表元组集合字典的区别和相互转换

python 列表,元组,字典,集合,字符串相互转换

Python的列表和元组的区别

python基础-列表 元组 集合 字典区别和用法

Python列表,元组,字典,集合的比较总结【表格对比】

python中元祖,列表,集合,字典的区别