python中set常用操作汇总

yipeiwu_com6年前Python基础

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

相关文章

pandas重新生成索引的方法

在数据处理的过程中,出现了这样的问题,筛选某些数据,出现索引从600多开始,但是我希望这行数据下标从0开始。 这个时候,我想到的是: df.reindex(range(length)...

用Python中的__slots__缓存资源以节省内存开销的方法

用Python中的__slots__缓存资源以节省内存开销的方法

我们曾经提到,Oyster.com的Python web服务器怎样利用一个巨大的Python dicts(hash table),缓存大量的静态资源。我们最近在Image类中,用仅仅一行...

python检查URL是否正常访问的小技巧

python检查URL是否正常访问的小技巧

今天,项目经理问我一个问题,问我这里有2000个URL要检查是否能正常打开,其实我是拒绝的,我知道因为要写代码了,正好学了点Python,一想,python处理起来容易,就选了pytho...

python如何制作缩略图

python如何制作缩略图

本文实例为大家分享了python制作缩略图的具体代码,供大家参考,具体内容如下 import cv2 #导入opencv模块 from tkinter import * #导入tki...

实例Python处理XML文件的方法

需求 有一个表,里面数据量比较大,每天一更新,其字段可以通过xml配置文件进行配置,即,可能每次建表的字段不一样。 上游跑时会根据配置从源文件中提取,到入库这一步需要根据配置进行建表。...