1 集合的创建
- 语法:用
{}
或set()
创建集合,但是创建空集合必须用set{}
,因为{}
创建的是空字典。
- 特点:
- 自动去除重复数据
- 顺序是随机的,不支持下标 。(因为是无序的,所以不能为集合创建索引或执行切片操作)
basket = {
'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
2 集合的操作
2.1 集合的增
set.add(elmnt)
用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。
fruits = {
"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)
fruits.add("apple")
print(fruits)
set.update(set)
用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
x = {
"apple", "banana", "cherry"}
y = {
"google", "baidu", "apple"}
x.update(y)
print(x)
y.update(["lsgo", "dreamtech"])
print(y)
2.2 集合的删
set.remove(item)
用于移除集合中的指定元素。如果元素不存在,则会发生错误。
fruits = {
"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits)
set.discard(value)
用于移除指定的集合元素。remove()
方法在移除一个不存在的元素时会发生错误,而 discard()
方法不会,还是原来的集合元素。
fruits = {
"apple", "banana", "cherry"}
fruits.discard("banana")
print(fruits)
fruits.discard("bhaa")
print(fruits)
fruits = {
"apple", "banana", "cherry"}
x = fruits.pop()
print(fruits)
print(x)
2.3 数学操作
- 交集
set.intersection(set1, set2 ...)
返回两个集合的交集。
set1 & set2
返回两个集合的交集。
set.intersection_update(set1, set2 ...)
交集,在原始的集合上移除不重叠的元素。
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
c = a.intersection(b)
print(c)
print(a & b)
print(a)
a.intersection_update(b)
print(a)
- 并集
set.union(set1, set2...)
返回两个集合的并集。
set1 | set2
返回两个集合的并集。
a = set('abracadabra')
b