python 列表、元组、字典、字典的区别

一、列表

1.任意对象的有序集合 
列表是一组任意类型的值,按照一定顺序组合而成的 
2.通过偏移读取 
组成列表的值叫做元素(Elements)。每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现 
3.可变长度,异构以及任意嵌套 
列表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套 
4.可变的序列 
支持索引、切片、合并、删除等等操作,它们都是在原处进行修改列表 
5.对象引用数组 
列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向一个对象,所以程序只需处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会存储对象的引用,而不是对象的一个拷贝

二、元组

1.任意对象的有序集合 
与列表相同 
2.通过偏移存取 
与列表相同 
3.属于不可变序列类型 
类似于字符串,但元组是不可变的,不支持在列表中任何原处修改操作,不支持任何方法调用 
4.固定长度、异构、任意嵌套 
固定长度即元组不可变,在不被拷贝的情况下长度固定,其他同列表 
5.对象引用的数组 
与列表相似,元祖是对象引用的数组

和list相比 
1.比列表操作速度快 
2.对数据“写保护“ 
3.可用于字符串格式化中 
4.可作为字典的key

三、字典

1.通过键而不是偏移量来读取 
字典就是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储,查找速度快 
2.任意对象的无序集合 
字典中的项没有特定顺序,以“键”为象征 
3.可变长、异构、任意嵌套 
同列表,嵌套可以包含列表和其他的字典等 
4.属于可变映射类型 
因为是无序,故不能进行序列操作,但可以在远处修改,通过键映射到值。字典是唯一内置的映射类型(键映射到值的对象) 
5.对象引用表 
字典存储的是对象引用,不是拷贝,和列表一样。字典的key是不能变的,list不能作为key,字符串、元祖、整数等都可以

和list比较,dict有以下几个特点: 
1.查找和插入的速度极快,不会随着key的增加而增加 
2.需要占用大量的内存,内存浪费多 
而list相反: 
1.查找和插入的时间随着元素的增加而增加 
2.占用空间小,浪费内存很少 
所以,dict是用空间来换取时间的一种方法

四、集合

1.是一组key的集合,但不存储value,并且key不能重复 
创建一个set,需要提供一个list作为输入集合,s
= set([1,2,3]),注意,传入的参数 [1, 2, 3] 是一个list,而显示的 set([1, 2, 3])
只是告诉你这个set内部有1,2,3这3个元素,显示的[ ]不表示这是一个list 
2.重复元素在set中自动被过滤 
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

还有一种集合是forzenset( ),是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法

和dict对比 
1.set和dict的唯一区别仅在于没有存储对应的value 
2.set的原理和dict一样,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”

原文地址:https://www.cnblogs.com/vvsq/p/11351436.html

时间: 2024-12-20 09:21:21

python 列表、元组、字典、字典的区别的相关文章

Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ["Wang","HouZi1","NiuNiu","ZhouYi","HouZi2",[1,2]] 可以通过列表角标的方式去获得list中的值 print(names)print(nam

python列表元组集合字典

一.列表 1.列表格式 list1 = ['Google', 'Runoob', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; 2.列表访问 list1[0]:Google list2[1:5]:[2,3,4,5] 3.l列表更新 list2[2]=新的值 del list[2] 删除第三个元素 4.列表操作符 len(list1)=list1长度 [1,2,3]+[4,5,6]=[1,2,3,4,5,6] ["hi"]*4=["hi"

Python列表 元组 字典 集合

元组 Python中的元组(Tuple)类似于Java中的数组,一旦创建了一个 tuple,就不能以任何方式改变它.这点与Python中的字符串类似,所以我们说元组和字符串都是不可变的序列.元组也支持索引和分片操作. 定义一个元组使用一对小(圆)括号” ( ) “. #定义一个元组 tuple1 = (1, 2, '3', 4, '5') # 定义了一个元组之后就无法再添加或修改元组中的元素 print tuple1[0] # 元组的元素都有确定的顺序.元组的索引也是以0为基点的 print t

Python基础【数据结构:列表 | 元组 | 集合 | 字典】

序列 序列是Python中最基本的数据结构.包括字符串,列表,元组,Unicode字符串,buffer对象,xrange对象.序列中的每个元素都分配一个数字,即它的索引第一个索引是0,第二个索引是1,依此类推. 列表和元组 列表一个方括号内的逗号分隔值列表中可以存放不同的数据类型. 例:[1,1.2,True,'str',[2,False]]元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 例:(1,1.2,True,'str',[2,False]) 列表和元组的

python数据类型-元组、字典常用操作

元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tp=(1,2,3,'a','b') a = 'hello world' #这样定义是str类型 b = ('hello world') #定义元组时,如果只有一个元素,那么b的类型就是str c = ('hello world',) print(type(c)) 元组只有count和index方法,如下: tp = ('127.0

[转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_start = sample_list[0] end_value = sample_list[-1] 删除列表的第一个值 del sample_list[0] 在列表中插入一个值 sample_list[0:0] = ['sample value'] 得到列表的长度 list_length = len(sa

Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结

[python] view plaincopy 创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_start = sample_list[0] end_value = sample_list[-1] 删除列表的第一个值 del sample_list[0] 在列表中插入一个值 sample_list[0:0] = ['sample value'] 得到列表

【python】-- 元组、字典

元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 用途:一般情况下用于自己写的程序能存下数据,但是又希望这些数据不会被改变,比如:数据库连接信息等 1.访问元祖 1 >>> name = ('a','b','c','d') 2 #下标值跟列表一样,也是从0开始 3 >>> name[0] 4 'a' 5 >>> name[1] 6 'b' 7 #访问最后一个元素 8 >>> name[-1]

也谈python列表append和extend的区别

关于append和extend两个方法,网上很多人说法如下: append() 方法向列表的尾部添加一个新的元素.只接受一个参数. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中. 但是,关于extend只接受一个列表作为参数这种说法,深表怀疑.举个栗子: extend >>>a= [1,2,3,4] >>> a.extend(['a','b']) >>> a [1, 2, 3, 4, 'a', 'b'] appe

python 列表 元组 字典

一.列表 一组有序项目的集合.可变的数据类型[可进行增删改查] 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表中可以包含任何数据类型,也可包含另一个列表 列表可通过序号访问其中成员 常用列表操作: list.append()追加成员,成员数据 list.pop()删除成员,删除第i个成员 list.count(x)计算列表中参数x出现的次数 list.remove()删除列表中的成员,直接删除成员i list.extend(L)向列表中追加另一个列表L list.revers