python列表,元组,字典,集合的比较总结

这四个都是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)}

交集&,并集|,差集-

切片

支持切片

支持切片

不支持切片

不支持切片

索引

支持索引

支持索引

不支持索引

不支持索引

+,*

支持

支持

不支持

不支持

其他

不能作为字典的键

可以作为字典的键