已经有了列表、元组、字符串三个数据容器,为什么还要集合?
列表:可修改、支持重复元素且有序。
元组、字符串:不可修改,支持重复元素且有序。
它们三个都支持重复元素且有序。
有些场景需要对内容去重,而集合主要特点是:不支持元素重复,并且内容无序。
集合
一、基本语法
1、定义集合字面量
{元素,元素,......}
2、定义集合变量
变量名称 = {元素,元素,.....}
3、定义空集合
变量名称 = set()
二、常用操作
1、添加新元素
语法:集合.add(元素)
例:
my_set = {"python"}
my_set.add("python")
my_set.add("java")
print(my_set)
结果:
{'java', 'python'}
2、移除元素
语法:集合.remove(元素)
例:
my_set = {"python","java"}
my_set.remove("python")
print(my_set)
3、从集合中随机取出元素
语法:集合.pop()
例:
my_set = {"python","java"}
element = my_set.pop()
print(element)
4、清空集合
语法:集合.clear()
例:
my_set = {"python","java"}
my_set.clear()
print(my_set)
结果:
set()
5、取两个集合的差集(集合1有,集合2没有)
语法:集合1.difference(集合2)
结果:产生新集合,集合1、集合2不变
例:
my_set = {1,2,3}
my_set2 = {2,3,4}
print(my_set.difference(my_set2))
6、消除两个集合的差集
语法:集合1.difference_update(集合2)
结果:集合1被修改,集合2不变
例:
my_set = {1,2,3}
my_set2 = {2,3,4}
my_set.difference_update(my_set2)
print(my_set)
print(my_set2)
结果:
{1}
{2, 3, 4}
7、两个集合合并
语法:集合1.union(集合2)
结果:得到新集合,集合1集合2不变
例:
my_set = {1,2,3}
my_set2 = {2,3,4}
print(my_set.union(my_set2))
8、统计集合元素的数量
语法:len(集合)
例:
my_set = {1,1,1,2,2,2}
count = len(my_set)
print(count)
结果:
2
9、集合遍历
集合不支持下标索引,不能用while;
可以用for
例:
my_set = {1,1,1,2,2,2}
for element in my_set:
print(element)