二、区别总结
列表,元组,字典,集合,都用于存放数据,它们区别总结如下:
项目 | 列表 | 元组 | 字典 | 集合 | |
---|---|---|---|---|---|
关键字 | 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 | 支持 | 支持 | 支持 | 支持 | |
+,* | 支持 | 支持 | 不支持 | 不支持 | |
其他 | 不能作为字典的键 | 可以作为字典的键 |