用Python设置

Python提供了数学集合的功能。与数学集合一样,我们在Python中使用花括号({})来声明使用这些括号的集合。python中的这些花括号表示集合。

我们知道字典也使用花括号,但是集合和字典的基本区别在于,在字典文字中,字典中的所有项目都是通过冒号(:)I.e键和值连接的,或者我们可以说键值对。虽然集仅包含一个简单值。

我们知道列表是有序的,这取决于元素的顺序,这些i.e值在其固定位置固定不变,直到您在列表中执行操作为止。

但是,每次打印集合时,集合实际上都是无序的,您会看到元素的随机排列。因此,我们无法在特定位置访问集合的元素。并且set不支持重复项,因为set中的所有元素仅一次出现。

Python集与数学有一个重要的区别:在python中,表达式{}不代表空集。为了将花括号用于一组,该组必须包含至少一个元素。

下面的序列演示了这些集合属性。这些所有属性都是相同的。就像在数学上一样。

注意:该表达式set()产生一个没有元素的集合,因此代表空集合。Python为空字典保留{}表示法。

在python示例代码中设置

我们可以对数学集中的集合执行许多操作,

操作方式数学符号Python语法类型说明/含义
联盟A | 乙A或B或两者中的元素
路口A&BA和B共有的元素
设置差异ABABA中的元素而不是B中的元素
对称差异AˆBA或B中的元素,但不能同时存在
设置会员x在A中布尔型X是A的成员
设置会员∈/x不在A中布尔型X不是A的成员

注意:您可以使用add(),delete(),remove(),discard()就像一套功能也相同,同样在列表等

示例

# python中的代码集
print("Samples of the operations performed by sets")

S = {2, 5, 7, 8, 9, 12}
T = {1, 5, 6, 7, 11, 12}

print("Union:",S|T)
print("Intersection:",S&T)
print("Set Difference:",S-T)
print("Symmetic Difference:",S^T)
print("Set Membership:", 8 in S)
print("Set Membership:", 8 not in S)

输出结果

Samples of the operations performed by sets
Union: {1, 2, 5, 6, 7, 8, 9, 11, 12}
Intersection: {12, 5, 7}
Set Difference: {8, 9, 2}
Symmetic Difference: {1, 2, 6, 8, 9, 11}
Set Membership: True
Set Membership: False

Python Frozenset

Frozenset是集合中的类,一旦分配,该类就不能再次更改,即它们是不可变的,nature.As因为我们知道集合是mutable.But冻结集合是不可变的。

我们知道,元组是不可变列表,就像不可变集合中的Frozen集合一样。

所以在Frozenset等也不支持我们集执行的操作union(),intersection(),difference(),symmetric_difference()等。

注意:集合本质上是可变的且不可哈希的,因此我们不能将它们用作字典键。但是Frozensets是可散列的,可用作字典的键。