自学Python的第六天,今天感觉学的东西不多,那就复习一下前几天的集合吧.
我们知道,list列表是[],元组是(),而集合想必就是{}了,一些基本的规则与前面的都差不太多,只是与前两个区别最大的是没有索引的,是无序的,所以你没法用下标索引的方式来访问元素 .
4.1集合的创建
用花括号创建呗
thisset = {"apple", "banana", "cherry"}
4.2更改集合中的 元素
不能更改,不能更改,不过可以 添加新的元素,用add()方法来添加一个元素,用update()方法来添加一堆元素
thisset={1,2,3,4}
thisset.add(5)
thisset.update([77,22])
值得注意的是,集合里面的元素不能重复,也就是你如果往集合里面添加已有的元素,相当于无添加
4.3 获取集合长度
老方法 len()了,不举例了
4.4删除元素或整个集合
如果是删除单个元素的话,可以用remove()方法或discard()方法或pop()方法,remove和discard的用法是一致的,就是删除指定元素
thisset={1,2,3,4}
thisset.remove(1)
thisset.discard(2)
而pop()方法是删除最后一个元素,由于集合set是无序的,所以你不知道删掉了哪一个
thisset.pop()
如果你想清空一整个集合,可以用clear()方法
thisset.clear()
如果你想删掉这个集合,就用del关键字
del thisset
4.5集合的合并
集合无法通过+号来实现两个集合的相加,但是可以使用union()方法来实现相加,例如
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set3 = set1.union(set2)
也可以用update()方法来把一个集合的元素添加到另外的集合中去
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set1.update(set2)
4.6 集合set的方法
接下来来介绍集合的方法,集合的方法比较,而且使用频率也挺高
(1) copy()方法
顾名思义,就是复制方法
(2)difference()方法
用法为set1.difference(set2),其作用是返回存在于set1而不存在set2中的元素,例如
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"} z = x.difference(y)
(3) difference_update()方法
用法是set1.sifference_update(),作用是删除set1中set1与set2共同存在的元素
set1={1,2,3,4}
set2={2,22,12,33}
set1.difference_update(set2)
(4) intersection()方法
与difference()方法刚好相反,intersection()方法返回两个集合共同存在的元素
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"} z = x.intersection(y)
(5) intersection_update()方法
这个方法是删除存在于set1中而不存在set2中的元素
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"} x.intersection_update(y)
(6) isdisjoint()方法
该方法用来检测两个集合是否有交集,如果有返回False,没有则返回True
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "facebook"} z = x.isdisjoint(y)
(7) issubse() 方法
该方法用来检测是一个集合是否是另外一个集合的子集,是就返回True,不是就返回False
x = {"a", "b", "c"} y = {"f", "e", "d", "c", "b", "a"} z = x.issubset(y)
(8) issuperset()方法
与issubset()方法相反,issuperset()方法用来检测一个集合是否包含另外一个集合
x = {"f", "e", "d", "c", "b", "a"} y = {"a", "b", "c"} z = x.issuperset(y)
(9)symmetric_difference()方法
该方法用来返回两个集合中的并集,除了都有的元素
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"} z = x.symmetric_difference(y)
(10)symmetric_difference_update()
与9差不多
x = {"apple", "banana", "cherry"} y = {"google", "microsoft", "apple"} x.symmetric_difference_update(y)