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基础-列表 元组 集合 字典区别和用法
参考技术APython中有六个标准的数据类型: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列表,元组,集合,字典的区别和相互的主要内容,如果未能解决你的问题,请参考以下文章