这四个都是python中的序列,用于存放数据,他们区别总结如下:
列表list
|
元组tuple
|
字典dictionary
|
集合set
|
|
是否可变
|
可变
|
不可变
|
可变
|
可变
|
是否有序
|
有序
|
有序
|
无序
|
无序
|
元素是否重复
|
可重复
|
可重复
|
键不可重复
|
不可重复
|
定义符号
|
[]
|
()
|
{key:value}
|
{}
|
创建
|
1.[]直接创建
2.list()
3.列表生成式
|
1.()直接创建
2.tuple()
|
1.{}直接创建
2.dict(key1=value1)
3.dict(zip(list1,list2))
|
1.{}直接创建
2.set()
|
删除
|
1.del删除元素或者列表
2.list.remove(value)
3.list.pop()
|
1.del删除元素或元组
|
1.del删除元素或字典
2.
|
1.del删除元素或集合
2.set.remove()
3.set.pop()
4.set.clear()
|
修改插入
|
1.append()
2.insert()
3.+
4.extend()
|
不可修改
|
1.dict[key]=value
|
s.add()
|
访问,遍历
|
1.索引访问
2.for循环遍历
for i in list
for index,i in enumerate(list)
|
1.索引访问
2.for循环遍历
|
1.键访问
2.get()访问
3.for key,value in dict.items()
for key in dict.keys()
for value in dict.values()
|
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:2 for i in range(1,10)}
|
交集&,并集|,差集-
|
切片
|
支持切片
|
支持切片
|
不支持切片
|
不支持切片
|
索引
|
支持索引
|
支持索引
|
不支持索引
|
不支持索引
|
+,*
|
支持
|
支持
|
不支持
|
不支持
|
其他
|
不能作为字典的键
|
可以作为字典的键
|