总结python中字符串,列表,元组,字典,集合的特点,都是python中常用的容器型数据类型
字符串 | 列表 | 元组 | 字典 | 集合 | |
---|---|---|---|---|---|
表示形式,中间元素都用逗号隔开 | 用 单引号或者双引号表示: ’ ’ , ‘’ ‘’ | 用中括号表示:[ ] | 用小括号表示:( ) | 用大括号表示:要有键值对的形式存在{ key:value},key值为不可变元素 | 用大括号表示:{ } 集合里的元素都是不可变的 |
空元素表示方法,中间 | 空字符串:str=’ ’ 或者 " " | 空列表:list=[] | 空元组:tuple=() 另外注意元**组在表示1个元素的时候的表示方法为(元素1,)**元素后面要多加一个逗号 | 空字典:dict={} | 空集合:set() |
是否是可变数据类型(可变数据类型支持增删改) | 不可变 | 可变 | 不可变 | 可变 | 可变 |
是否是有序序列(有序序列支持下标操作) | 有序 | 有序 | 有序 | 无序 | 无序 |
增 | 无 | ①append(元素),在列表的最后添加元素 ②insert(下标,元素) | 无 | ①字典[key] = 值 如果 key 存在, 就将 key 对应的值修改成指定的值 (改) 如果 key 不存在,以 'key:值’的形式添加一个键值对(增) ②字典.setdefault(键, 值) - 添加键值对(不存在修改功能) | ①集合.add(元素) 在集合中添加指定元素 b. ②集合.update(序列) 将序列中的元素全部添加到集合 |
删 | 无 | ①del 列表[下标] ②remove(元素),遍历删除的时候使用remove要将列表进行拷贝 ③pop()与pop(下标),第一种是取出列表中最后一个元素,第二种取出指定下标的元素,与remove方法不同,使用pop取出后列表中元素不存在,但pop中还存在元素 | 无 | ①del 字典[key] - 删除指定key对应的键值对(key不存在会报错) ②字典.pop(key) - 取出字典中指定key对应的值,并且返回被取出的值 | ①集合.remove(元素) - 删除集合中指定的元素(元素不存在会报错) ②集合.discard(元素) 删除集合中指定的元素(元素不存在不会报错) |
改 | 无 | ①列表[下标]=值 ②列表1[开始下标:结束下标] = 列表2 列表2不一定是列表,可以是字符串或者其他容器型数据类型 | 无 | 字典[key] = 值 | 集合没有修改元素的功能,只能先删除,再添加 |
查 | ①字符串[下标] ②切片 ③遍历 | ①列表[下标] ②切片 ③遍历 | ①元组[下标] ②切片 ③遍历 | ①字典[key] key值不存在会报错②字典.get(key) 字典.get(key, 默认值) 第一种如果key值不存在会返回None,第二种如果字典中没有对应的值则会返回默认值 ③遍历 | 集合是无序的且没有下标,所以集合的查只能遍历 |
in 与 not in | 字符 in 字符串 字符not in 字符串 #判断字符是否是字符串的子集 | value in 列表 value not in 列表 # 判断value是否在列表中 | value in 元组 value not in 元组 # 判断value是否在元组中 | 只能用于判断key是否属于字典 | 跟字符串的用法一样 |
方法 | count,index,reverse,sort,clear,copy | count,extend,index,reverse,sort,clear,copy | count,extend,index,reverse,sort,clear,copy | clear,copy,fromkeys, keys,values,items ,update | copy,clear, discard,pop,remove |
数学方法 | 字符串支持+,*,支持比较运算 | 元组支持+,*,支持比较运算 | 列表支持+,*,支持比较运算 | **字典只支持比较相等,**不支持比较大小,没有乘法和加法运算 | 集合里支持交集&,并集|,差集-,对称差集^等 |
函数 | max,min,sorted,reversed,sum,str | max,min,sorted,reversed,sum,tuple | max,min,sorted,reversed,sum,listed, 任何数据类型都可以转换成列表 | dict,len, 转换字典的要求必须有一层嵌套的容器型数据,且最里层的元素只有两个,第一个元素为不可变的元素 | len,set, |