Loading

python-集合

  • 内置方法
set.add(elmnt),elmnt为要添加的元素
无返回值
fruits = {"apple", "banana", "cherry"}
fruits.add("orange") 
print(fruits)
# {'apple', 'banana', 'orange', 'cherry'}
set.clear()

fruits = {"apple", "banana", "cherry"}
fruits.clear()
print(fruits)
# set()
set.copy()
fruits = {"apple", "banana", "cherry"}
x = fruits.copy()
print(x)
# {'cherry', 'banana', 'apple'}
set.difference(set),set为用于计算差集的集合
返回一个计算完成的集合
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
z = x.difference(y) 
print(z)
# {'cherry', 'banana'}
set.difference_update(set),set为用于计算差集的集合
无,其会直接在原集合上进行修改
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
x.difference_update(y) 
print(x)
# {'cherry', 'banana'}
set.discard(value),value为要移除的元素

fruits = {"apple", "banana", "cherry"}
fruits.discard("banana") 
print(fruits)
# {'cherry', 'apple'}
set.intersection(set1, set2 ... etc),set1,set2为需要查找相同元素的组合
返回一个新的集合
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.intersection(y) 
print(z)
# {'apple'}
set.intersection_update(set1, set2 ... etc),set1,set2为需要查找相同元素的组合
无返回值,会直接将原集合变为其交集元素的集合
x = {"apple", "banana", "cherry"}  # y 集合不包含 banana 和 cherry,被移除 
y = {"google", "runoob", "apple"}
x.intersection_update(y) 
print(x)
# {'apple'}
set.isdisjoint(set),set为要比较的集合
返回布尔值,如果不包含返回 True,否则返回 False
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "facebook"}
z = x.isdisjoint(y) 
print(z)
# True
set.issubset(set),set为要比较查找的集合
返回布尔值,如果都包含返回 True,否则返回 False
x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
z = x.issubset(y) 
print(z)
# True
set.issuperset(set),set为要比较查找的集合
返回布尔值,如果都包含返回 True,否则返回 False
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
z = x.issuperset(y) 
print(z)
# True
set.pop()
返回要移除的元素
fruits = {"apple", "banana", "cherry"}
fruits.pop() 
print(fruits)
# {'apple', 'banana'}
set.remove(item),item为要移除的元素
无返回值
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana") 
print(fruits)
# {'cherry', 'apple'}
set.symmetric_difference(set),set为集合
返回一个新的集合,其取并集并移除两个元素中为交集的元素
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.symmetric_difference(y) 
print(z)
# {'google', 'cherry', 'banana', 'runoob'}
set.symmetric_difference_update(set),set为要检测的集合
无,其会直接在原集合上修改为并集去除交集的元素
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
x.symmetric_difference_update(y) 
print(x)
# {'google', 'cherry', 'banana', 'runoob'}
set.union(set1, set2...),set1,set2为要进行合并的集合
返回一个合并的新集合
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
z = x.union(y) 
print(z)
# {'cherry', 'runoob', 'google', 'banana', 'apple'}
set.update(set),set为元素的集合
无返回值,其会添加元素
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
x.update(y) 
print(x)
# {'banana', 'apple', 'google', 'runoob', 'cherry'}
  • 集合推导式

 

 a = {x for x in 'abracadabra' if x not in 'abc'}
 a
 # {'r', 'd'}

 

posted @ 2020-10-23 11:26  lixin2020  阅读(111)  评论(0)    收藏  举报