Python集类型

这些集合基本上是不同哈希表对象的无序集合。我们可以使用集合进行一些数学运算,例如集合并集,交集,差等。我们还可以使用集合从集合中删除重复项。

该集合不记录元素位置。它不支持索引,切片或其他与序列相关的操作。

在python中,基本上有两种类型的集合。该frozenset。集合类型是可变的,无论Frozenset是否是不变的。我们可以在set上执行add(),remove()和此类操作,但对于Frozenset是不可能的。

一些与集合有关的方法和操作如下-

方法镜头

len()方法返回集合中的元素数。

运算(x in s)或(y not in s)

操作用于检查集合中的元素的成员。在第一个语句(x in s)中,当set中的值x可用时,它将返回true。当元素y不存在于集合中时,第二个(y不在s中)将返回true。

方法isdisjoint(other_set)

此方法将检查other_set是否与当前集合不相交。如果两个元素至少有一个共同的元素,则该方法将返回false。

方法issuperset(other_set)

当当前集合中还存在other_set集合中的所有元素时,此函数返回true。它基本上检查当前集是否为other_set的超集。

方法联合(other_set)

union()函数通过收集当前集合和other_set中的所有元素来返回一个新集合。

方法交集(other_set)

交集()函数通过从当前集合和other_set收集公共元素来返回新集合。

方法差异(other_set)

different()方法将返回一个集合,其中最终集合包含第一个集合的所有元素,除了这两个集合的公共元素之外。

方法add(elem)

在集合中添加元素elem。

方法丢弃(元素)

从集合中删除元素elem。当元素中存在元素时,这将起作用。还有另一个方法称为remove()。在remove()中,如果该项目不存在于集合中,它将引发KeyError。

范例程式码

现场演示

mySet1 = {1, 2, 5, 6}
mySet2 = {8, 5, 3, 4}
mySet3 = set(range(15)) # all elements from 0 to 14 in the set
mySet4 = {10, 20, 30, 40}
print(set(mySet1.union(mySet2)))
print(set(mySet1.intersection(mySet2)))
print(set(mySet1.difference(mySet2)))

print(mySet3.issuperset(mySet1))
print(mySet1.isdisjoint(mySet4))

mySet4.add(45)
print(mySet4)

mySet4.discard(40)
print(mySet4)

输出结果

set([1, 2, 3, 4, 5, 6, 8])
set([5])
set([1, 2, 6])
True
True
set([40, 10, 20, 45, 30])
set([10, 20, 45, 30])