第三课 python学习 集合
第三课 python学习 集合
班级一有学生Bill,Mark,Mark
班级二有学生Tom,Linda,Bill
找出两个班级有同名的学生Bill
知识点:求两个集合的交集。
集合里存放的是基础数据类型,整型、浮点、字符串、元组。不能存放列表和字典、集合本身。
集合创建用内置函数set或者{},例如 a = set(),或 a = {1,2,'ABC'},创建空集合只能用set,不能用{},例如:a = set(),因为a={}是默认创建字典。
a = set()
b = {1,2,'abc'}
c = {1,2,1,2,1,2} #集合不会包括重复元素,默认归一化,打印是1,2
print(a)
print(b)
print(c)
#字符串、列表、元组、字典也可转换为集合
print("转换示例:")
a = 'abcd' #字符串
test = set(a)
print(test)
b = [1,2,3] #列表
test = set(b)
print(test)
c = (1,2,'abc') #元组
test = set(c)
print(test)
d = {'a':1,'b':2,'c':3} #字典,字典中的key 'a'被转换,value 1被舍弃
test = set(d)
print(test)
#集合是无序的,不能用索引来访问,可用遍历来访问
print("集合是无序的,不能用索引来访问,可用遍历来访问:")
test = {1,2,'abc',567,8}
print(test)
for item in test:
print(item)
#集合增加元素和删除元素
print("集合增加元素和删除元素:")
nums = {1,2,3}
print(nums)
nums.add(6) #添加6
print(nums)
nums.remove(1) #移除1
print(nums)
#找出两个班级有同名的Bill
#集合之间的运算,交集、并集、差集
print("集合之间的运算,交集、并集、差集:")
a = {"Bill","Mark","Mark"} #班级一学生
b = {"Tom","Linda","Bill"} #班级二学生
#交集,取两个集合的公共元素,使用 & 或intersection
print(a&b)
print(a.intersection(b))
#并集,取两个集合的全部元素,使用 |或union
print(a|b)
print(a.union(b))
#差集,取一个集合有的,另一个集合没有的,- 或 difference
print(a-b)
print(a.difference(b))
print(b-a)
print(b.difference(a))