python 集合
1.什么是集合
1. 定义
知其然,知其所以然。集合的定义只有一句话:
集合(set)是一个无序的不重复元素序列。
重复一遍:集合里边的元素是不可重复的并且集合内的元素还是无序的。
如果细细的挖掘,你会发现它还有以下信息:
- 集合是一个可变容器
- 集合内的数据对象都是唯一的(不能重复)
- 集合是可迭代对象
- 集合相当于是只有键没有值得字典(键就是集合中的数据)
- 集合内的元素可以设置不可变类型frozenset()
- 集合pop()删除的时候类似队列先进先出 ,是类似。
也就是说,集合可以像元组一样,设置不可改变的类型。也可以默认像字典,列表一样,可以迭代改变。同时集合里的元素可以是列表,元组,字典。
2. 为什么要使用集合
练习线上编程的时候,觉得列表足够用了。直到挨了社会的毒打,才发现字典,集合, 嗯 ,真香。
集合的特点决定了它简单,高效,速度快。举个例子,列表去重:
list1=[1,2,3,4]
list2=[3,4,5,6]
list3=[]
for i in list1:
if i in list2:
list3.append(i)
print(list3)
利用集合去重:
my_list = [1, 2, 3, 4, 2, 3, 1, 2, 2]
# 转化为集合
my_set = set(my_list)
print(list(my_set)) # 结果 [1, 2, 3, 4]