python中set常用操作汇总
sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。
下面我们通过几个例子,来简单说明下
常用操作1
In [2]: a = set() In [3]: a Out[3]: set() In [4]: type(a) Out[4]: set In [5]: b = set([1, 3]) In [6]: b Out[6]: {1, 3} In [7]: type(b) Out[7]: set In [8]: b.update(2) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-8-d51e2fe4c50a> in <module>() ----> 1 b.update(2) TypeError: 'int' object is not iterable In [9]: b.update({2}) In [10]: b Out[10]: {1, 2, 3} In [11]: b.update([4]) In [12]: b Out[12]: {1, 2, 3, 4} In [13]: a.di a.difference a.difference_update a.discard In [13]: a.dif a.difference a.difference_update In [13]: a.difference(b) Out[13]: set() In [14]: a Out[14]: set() In [15]: b.difference(a) Out[15]: {1, 2, 3, 4} In [16]:
常用操作2
In [16]: a.add({1, 3}) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-16-98cdf4d0875e> in <module>() ----> 1 a.add({1, 3}) TypeError: unhashable type: 'set' In [17]: a.add(4) In [18]: a Out[18]: {4} In [19]: a.issu a.issubset a.issuperset In [19]: a.issubset(b) Out[19]: True In [20]: a.remove(4) In [21]: a Out[21]: set() In [22]: a.union(b) Out[22]: {1, 2, 3, 4} In [23]: a Out[23]: set() In [24]: b Out[24]: {1, 2, 3, 4} In [25]: b.pop() Out[25]: 1 In [26]: a.copy(b) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-26-9e8a5f057ffd> in <module>() ----> 1 a.copy(b) TypeError: copy() takes no arguments (1 given) In [27]: a.copy() Out[27]: set() In [28]: c = a.copy() In [29]: c Out[29]: set() In [30]: a Out[30]: set() In [31]: a.add({234}) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-31-6073e02d68a9> in <module>() ----> 1 a.add({234}) TypeError: unhashable type: 'set' In [32]: a.add(234) In [33]: c Out[33]: set() In [34]: a Out[34]: {234}
常用操作3
In [35]: a.clear() In [36]: a Out[36]: set() In [39]: a = {1} In [40]: b = {1, 2} In [41]: a.intersection(b) Out[41]: {1} In [43]: a Out[43]: {1} In [44]: b = {1, 2, 3} In [45]: a.union(b) Out[45]: {1, 2, 3} In [45]: a.union(b) Out[45]: {1, 2, 3} In [46]: a & b Out[46]: {1} In [47]: a ^ b Out[47]: {2, 3} In [48]: a - b Out[48]: set() In [49]: b - a Out[49]: {2, 3} In [50]: a > b Out[50]: False In [51]: b > a Out[51]: True In [52]: a == b Out[52]: False In [53]: a != b Out[53]: True