用Python设置
Python提供了数学集合的功能。与数学集合一样,我们在Python中使用花括号({})来声明使用这些括号的集合。python中的这些花括号表示集合。
我们知道字典也使用花括号,但是集合和字典的基本区别在于,在字典文字中,字典中的所有项目都是通过冒号(:)I.e键和值连接的,或者我们可以说键值对。虽然集仅包含一个简单值。
我们知道列表是有序的,这取决于元素的顺序,这些i.e值在其固定位置固定不变,直到您在列表中执行操作为止。
但是,每次打印集合时,集合实际上都是无序的,您会看到元素的随机排列。因此,我们无法在特定位置访问集合的元素。并且set不支持重复项,因为set中的所有元素仅一次出现。
Python集与数学有一个重要的区别:在python中,表达式{}不代表空集。为了将花括号用于一组,该组必须包含至少一个元素。
下面的序列演示了这些集合属性。这些所有属性都是相同的。就像在数学上一样。
注意:该表达式set()产生一个没有元素的集合,因此代表空集合。Python为空字典保留{}表示法。
我们可以对数学集中的集合执行许多操作,
注意:您可以使用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
PythonFrozenset
Frozenset是集合中的类,一旦分配,该类就不能再次更改,即它们是不可变的,nature.As因为我们知道集合是mutable.But冻结集合是不可变的。
我们知道,元组是不可变列表,就像不可变集合中的Frozen集合一样。
所以在Frozenset等也不支持我们集执行的操作union(),intersection(),difference(),symmetric_difference()等。
注意:集合本质上是可变的且不可哈希的,因此我们不能将它们用作字典键。但是Frozensets是可散列的,可用作字典的键。