Python 7天快速入门完整视频教程:https://www.bilibili.com/video/BV1o84y1Z7J1
Python 集合set
集合set
集合是多个元素的集合,但是不能有重复元素,区别于列表[],元组()和字符串""。
集合的定义
赋值定义
集合变量名称 ={ 元素1, 元素2, 元素3, 元素4, ... }
空集合定义
集合变量名称 = set()
# 定义集合
set1 = {"php", "java", "python"}
print(f"set1={set1},type={type(set1)}")
# 定义空集合
set2 = set()
print(f"set2={set2},type={type(set2)}")
输出结果:
set1={'java', 'python', 'php'},type=<class 'set'>
set2=set(),type=<class 'set'>
集合的常用方法
因为集合是无序的,所以集合不支持下标索引访问。
集合和列表一样,也是可以修改的。
1,add(元素),添加元素到集合,假如元素集合里存在,则忽略
set1 = {"php", "java", "python"}
set1.add("c")
set1.add("python")
print(set1)
2,pop(),随机从集合中获取一个元素,并且返回。
# pop(),随机从集合中获取一个元素,并且返回
set2 = {"php", "java", "python"}
ele = set2.pop()
print(set2, ele)
3,clear(),清空集合
set3 = {"php", "java", "python"}
set3.clear()
print(set3)
4,集合1.difference(集合2) 返回差集 (集合1有但是集合2没有的新集合)
set4 = {"a", "b", "c"}
set5 = {"a", "d", "e"}
print(set4.difference(set5))
print(set4)
print(set5)
5,集合1.difference_update(集合2) ,删除差集。集合1内,删除和集合2相同的元素
set6 = {"a", "b", "c"}
set7 = {"a", "d", "e"}
set6.difference_update(set7)
print(set6)
print(set7)
输出结果:
{'b', 'c'}
{'a', 'e', 'd'}
6,集合1.union(集合2),返回合并集合1,集合2后的新集合
set8 = {"a", "b", "c"}
set9 = {"a", "d", "e"}
set10 = set8.union(set9)
print(set10)
print(set8)
print(set9)
输入结果:
{'b', 'd', 'c', 'a', 'e'}
{'b', 'c', 'a'}
{'d', 'e', 'a'}
7,len(集合)统计元素个数
set11 = {"a", "b", "c"}
print(len(set11))
集合的遍历
因为集合不支持下标索引,所以不能用while循环
我们用for循环遍历
set12 = {"php", "java", "python"}
for ele in set12:
print(ele)
作业:有列表对象 list1 = ['python', 'java', 'php', 'java']
要求,通过定义一个新的集合对象,遍历列表,通过add添加到集合里,实现去重。