初学python,今天晚上学习了set,做下set的总结,set的中文名也就是【集合】,set的总结分为两部分,第一部分是set的创建,第二部分是set的操作,也就是set的功能;set的特点是无序的,但是是会天然去重的;
第一部分:创建set
方法1:用大括号来创建set
#用大括号创建集合s1={'123','abc'}print(type(s1))print(s1)
方法2:直接用set创建,但是这是创建了一个空的集合
创建一个空的集合
s2=set()print(type(s2))print(s2)
方法3;可以把一个列表转换为集合
li=[11,22,33,44,33]s3=set(li)print(type(s3))print(s3)
第二部,set的操作功能
#add,给集合【set】添加一个元素,注意add一次只能添加一个元素s1=set()s1.add(123)print(s1)
结果
set([123])
#clear,清空一个集合【set】s1.clear()print(s1)
set([123])set([])
#difference,显示集合a存在,但是集合b不存在的元素a={'a','b','c','d','e'}b={'a','b','c','d','f','g'}c=a.difference(b)print(c)
set(['e'])
#symmetric_difference,显示集合a和集合b中的不同的元素
a={'a','b','c','d','e'}b={'a','b','c','d','f','g'}c=a.symmetric_difference(b)print(c)
结果set(['e','g','f'])
#difference_update,把集合a中存在,但是不在集合b中的元素更新到集合a中
a={'a','b','c','d','e'}b={'a','b','c','d','f','g'}a.difference_update(b)print(a)
结果set(['e'])
#discard移除元素,如果集合中存在该元素,则会移除,如果集合中不存在该元素,也不报错
a={'a','b','c','d','e'}a.discard('a')print(a)a.discard('aaa')print(a)
结果set(['c','b','e','d'])set(['c','b','e','d'])
#remove,移除元素,如果不存在,则会报错
a={'a','b','c','d','e'}a.remove('e')print(a)a.remove('1')
结果set(['a','c','b','d'])File"E://python/day6/set2.py",line43,in
#pop,移除元素,但是不能指定移除哪个元素,是随机的,移除的值我们可以用另外一个变量来接收
f={'a','b','c','d'}g=f.pop()print(f)print(g)
结果set(['c','b','d'])a
#intersection,或者集合a和集合b的交集,并赋值给另外一个集合c
a={'11','22','33','44'}b={'aa','bb','cc','dd','ee','33'}c=a.intersection(b)print(c)
结果set(['33'])
#intersection_update,指出集合a和集合b之间的交集,并更新集合a的元素为集合a和集合b的交集
a={'11','22','33','44','dd'}b={'aa','bb','cc','dd','ee','33'}a.intersection_update(b)print(a)
结果set(['33','dd'])
#isdisjoint,判断a、b两个集合是否有交集,如果没有则返回True,如果有交集,则返回False
a={'11','22','33','44','dd'}b={'aa','bb','cc','dd','ee','33'}print(a.isdisjoint(b))
结果False
#issubset,判断b集合是否为a集合的子序列,也就是说a集合是否包含b集合,如果是则返回True,如果不是,则返回False
a={'11','22','33','44','dd'}b={'aa','bb','cc','dd','ee','33'}print(a.issubset(b))##b={'11','22','33','44','dd'}a={'33'}print(a.issubset(b))
结果FalseTrue
#union,取集合b和集合a的并集,并把并集赋值给另外一个集合
a={'11','22','33','44','dd'}b={'aa','bb','cc','dd','ee','33'}c=a.union(b)print(c)
结果set(['11','aa','ee','bb','22','33','44','cc','dd'])
#update,可以和add对比,add只能一个一个添加,而update可以批量添加