Python 基础列表、元组、字典
数据结构比较:
数据结构名 | 列表(List)L | 元组(Tuple)T | 字典(Dictionary)D |
---|---|---|---|
表示 | 方括号,中间用逗号隔开:[xxx,yyy,zzz,].list() | 圆括号,中间用逗号隔开:(xxx,yyy,zzz)tuple() | 花括号,中间用逗号隔开:{key1:value1;key2:value2} |
元素的数据类型 | 任意数据类型(不需要具有相同的类型 创建一个列表) | 任意数据类型 | key-value**(key有唯一性要求,如果键重复,最后的一个键值对会替换前面的键值对;value可以是任意的数据类型,但是key必须是不可变的数据结构,比如字符串、元组)** |
是否变长 | 可变长 | 不可变长 | 可变长 |
对数据结构可用的函数 | 1. list(xxx):把xxx转换为列表.list 函数适用于所有类型的序列,而不只是字符串 2.len(L):返回列表中元素个数 3. max 函数返回列表元素最大值.4. min函数返回列表元素最小值 | 元组创建很简单,只需要在括号中添加元素(不需要括号也可以),并使用逗号隔开即可。元组中只包含1个元素的时候,需要在元素后面添加逗号,否则括号会被当作运算符使用. 1. len(T):返回元组长度,2.T*n:把元组T复制n倍并生成1个新元组.3.T1+T2:把T1和T2相互拼接生成一个新元组.4. xxx in T1:判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值 | 1. len() 方法计算字典元素个数(键的总个数)2.str() 方法输出字典中可以打印的字符串标识3. xxx in D:判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值 |
访问 | L[i]:用[index]方式访问元素,或者分片赋值 | 元组的访问和序列访问元素一样,都是通过下标索引进行访问操作 | 通过键访问,比如D[‘键’] |
删除元素 | del L[i]:删除列表L中的第i个元素 | **不支持删除某个元素,**但是删除整个元组,del T | 1. del D[key]:删除键为key的元素.2. del D:删除字典D 3. D.clear()删除字典的所有元素. |
修改/增加 | 1. 修改L[i]访问方式修改.2.**L.append(xxx)😗*可以在列表的末尾添加新的内容.3.L.count(xxx):统计xxx元素在列表L中出现的次数.4.L.extend(L2):将L2的列表元素扩展到L列表中.5. L.index(xxx):在列表L中找出第一次与xxx元素匹配的索引位置.6.L.insert(xxx,yyy):在列表L的索引号为xxx位置处插入元素yyy.7.L.pop():在列表L的末尾删除一个元素且返回.8.L.remove(xxx):在列表中删除xxx元素 | 1.T.count(xxx):统计xxx元素在元组T中出现的次数。2. T.Index(xxx): 在元组T中找出第一次与xxx元素相匹配的索引位置. | 1. 更新和修改都可以用键访问的方式:D[key]=value 2.D.copy():(拷贝),需要注意的是拷贝不会随着父对象的修改而修改,字典赋值(D1=D)则会随着父对象的修改而修改 |
排序/反转 | 1. L.sort():按照从小到大排序 2. L.reverse():反转存储 | 不支持 | 字典是不排序的,所以不能像列表那样切片 |
转换 | 1. 转换成list().2. 转换成tuple() | 1. 转换成list().2. 转换成tuple() | 3. Dict 转换为list特殊方法:D.items():以列表返回可遍历的(键, 值) 元组数组.其中返回的列表元素为元组.(key,value). |
返回Key列表:list(D.keys()) **返回Value列表:**list(D.values()) |