二、區別總結
列表,元組,字典,集合,都用于存放數據,它們區別總結如下:
項目 | 列表 | 元組 | 字典 | 集合 | |
---|---|---|---|---|---|
關鍵字 | list | tuple | dict | set | |
是否可變 | 可變 | 不可變 | 可變 | 可變 | |
是否有序 有序 | 有序 | 無序 | 無序 | ||
元素是否重復 | 可重復 | 可重復 | 鍵不可重復 | 不可重復 | |
定義符號 | [] | () | {key:value} | {} | |
創建 | []直接創建list()列表生成式 | ()直接創建tuple() | {}直接創建dict(key1=value1)dict(zip(list1,list2))dict() | {}直接創建set() | |
刪除 | del刪除元素或者列表list.remove(value)list.pop()list.clear() | del刪除元素或元組 | del刪除元素或字典dict.clear() | del刪除元素或集合set.remove()set.pop()set.clear() | |
修改插入 | append()insert()+extend() | 不可修改 | dict[key]=value | s.add() | |
訪問,遍歷 | 索引訪問for循環遍歷for i in listfor index,i in enumerate(list) | 索引訪問for循環遍歷 | 鍵訪問get()訪問etdefault()訪問for循環遍歷 | for循環遍歷 | |
生成式 | [i*i for i in list1]返回列表 | (i*i for i in list1)返回生成器對象通過for和next()訪問 | dict={i:j for i,j in zip(list1,list2)}dict={i*2 for i in range(1,10)} | 交集&并集 | 差集- |
切片 | 支持 | 支持 | 不支持 | 不支持 | |
索引 | 支持 | 支持 | 不支持 | 不支持 | |
in,not in | 支持 | 支持 | 支持 | 支持 | |
+,* | 支持 | 支持 | 不支持 | 不支持 | |
其他 | 不能作為字典的鍵 | 可以作為字典的鍵 |