教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python之set集合的相关介绍

Python之set集合的相关介绍

发布时间:2021-12-17   编辑:jiaochengji.com
教程集为您提供Python之set集合的相关介绍等资源,欢迎您收藏本站,我们将为您提供最新的Python之set集合的相关介绍资源

认识python中的set集合及其用法

python中,集合(set)是一个无序排列,可哈希,支持集合关系测试,不支持索引和切片操作,没有特定语法格式,只能通过工厂函数创建.集合里不会出现两个相同的元素,所以集合常用来对字符串或元组或列表中的元素进行去重操作。

生成一个集合可以使用如下语法:

生成集合语法1:

<pre class="brush:php;toolbar:false">>>> l1=[1,2,3,4,5,6] >>> s1=set(l1) >>> print(s1) {1, 2, 3, 4, 5, 6}</pre>

在这里,使用工厂函数set创建集合,set的参数可以是一个列表,也可以是一个元组或字符串。

生成集合语法2:

<pre class="brush:php;toolbar:false">>>> s2={6,7,8,9,10} >>> print(s2) {8, 9, 10, 6, 7}</pre>

生成集合语法3:

<pre class="brush:php;toolbar:false">>>> s3={i for i in range(10)} >>> print(s3) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}</pre>

集合类型的方法和操作:

add

<pre class="brush:php;toolbar:false">为集合增加一个元素,如果集合中本来已经存在这个元素对集合无影响 Add an element to a set. This has no effect if the element is already present.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s1.add(8) >>> print(s1) {1, 2, 3, 4, 5, 6, 7, 8} >>> s1.add(9) >>> print(s1) {1, 2, 3, 4, 5, 6, 7, 8, 9}</pre>

clear

<pre class="brush:php;toolbar:false">清空集合里所有的元素 Remove all elements from this set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9} >>> s1.clear() >>> print(s1) set() >>> s2.clear() >>> print(s2) set()</pre>

copy

<pre class="brush:php;toolbar:false">对集合进行浅拷贝(只复制元素,不复制内存地址) Return a shallow copy of a set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> print(s1,id(s1)) {1, 2, 3, 4, 5, 6, 7} 140509859430472 >>> s2=s1.copy() >>> print(s2,id(s2)) {1, 2, 3, 4, 5, 6, 7} 140509842716712</pre>

difference

<pre class="brush:php;toolbar:false">求两个或多个集合的差集,并返回一个新集合 Return the difference of two or more sets as a new set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s1.difference(s2) {1, 2, 3, 4} >>> s2.difference(s1) {8, 9, 10}</pre>

difference_update

<pre class="brush:php;toolbar:false">把两个集合的交集部分从集合中移除 Remove all elements of another set from this set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s1.difference_update(s2) >>> print(s1) {1, 2, 3, 4} >>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s2.difference_update(s1) >>> print(s2) {8, 9, 10}</pre>

相关推荐:《Python视频教程》

discard

<pre class="brush:php;toolbar:false">从集合中移除一个元素,如果被移除的元素不在集合中,不会报错 Remove an element from a set if it is a member. If the element is not a member, do nothing.</pre><pre class="brush:php;toolbar:false">{1, 2, 3, 4, 5, 6, 7} >>> s1.discard(7) >>> print(s1) {1, 2, 3, 4, 5, 6} >>> s1.discard(4) >>> print(s1) {1, 2, 3, 5, 6} >>> print(s1) {1, 2, 3, 5, 6}</pre>

intersection

<pre class="brush:php;toolbar:false">求两个或多个集合中的交集 Return the intersection of two sets as a new set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s1.intersection(s2) {5, 6, 7} >>> s2.intersection(s1) {5, 6, 7}</pre>

intersection_update

<pre class="brush:php;toolbar:false">把两个集合的交集做为新的集合 Update a set with the intersection of itself and another.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s1.intersection_update(s2) >>> print(s1) {5, 6, 7} >>> print(s2) {5, 6, 7, 8, 9, 10} >>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s2.intersection_update(s1) >>> print(s2) {5, 6, 7} >>> print(s1) {1, 2, 3, 4, 5, 6, 7}</pre>

isdisjoint

<pre class="brush:js;toolbar:false">两个集合没有交集则返回True Return True if two sets have a null intersection.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6,7} >>> s2={5,6,7,8,9,10} >>> s1.isdisjoint(s2) False >>> s1={1,2,3,4} >>> s2={6,7,8,9} >>> s1.isdisjoint(s2) True</pre>

issubset

<pre class="brush:php;toolbar:false">如果本集合是参数集合的子集,返回True Report whether another set contains this set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4} >>> s2={1,2,3,4,5,6,7} >>> s1.issubset(s2) True >>> s2.issubset(s1) False</pre>

issuperset

<pre class="brush:php;toolbar:false">如果本集合是参数集合的超集,返回True Report whether this set contains another set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4} >>> s2={1,2,3,4,5,6,7} >>> s1.issuperset(s2) False >>> s2.issuperset(s1) True</pre>

pop

<pre class="brush:php;toolbar:false">从集合中移除一个元素,如果集合为空,则报错 Remove and return an arbitrary set element. Raises KeyError if the set is empty.</pre><pre class="brush:php;toolbar:false">>>> s1={2,3,4,5} >>> s1.pop() 2 >>> print(s1) {3, 4, 5} >>> s1.pop() 3 >>> s1.pop() 4 >>> s1.pop() 5 >>> s1.pop() Traceback (most recent call last):   File "<stdin>", line 1, in <module> KeyError: 'pop from an empty set'</pre>

remove

<pre class="brush:php;toolbar:false">移除集合中的一个元素,如果集合是空的,则报错 Remove an element from a set; it must be a member.   If the element is not a member, raise a KeyError.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6} >>> s1.remove(4) >>> print(s1) {1, 2, 3, 5, 6} >>> s1.remove(9) Traceback (most recent call last):   File "<stdin>", line 1, in <module> KeyError: 9</pre>

symmetric_difference

<pre class="brush:php;toolbar:false">返回两个集合的对称差集的集合 Return the symmetric difference of two sets as a new set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4} >>> s2={6,7,8,9} >>> s1.symmetric_difference(s2) {1, 2, 3, 4, 6, 7, 8, 9} >>> s3={1,2,3,4,5,6} >>> s4={5,6,7,8,9,10} >>> s3.symmetric_difference(s4) {1, 2, 3, 4, 7, 8, 9, 10}</pre>

symmetric_difference_update

<pre class="brush:php;toolbar:false">与参数集合做对称差集,并返回给自身 Update a set with the symmetric difference of itself and another.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4} >>> s2={6,7,8,9} >>> s2.symmetric_difference_update(s1) >>> print(s2) {1, 2, 3, 4, 6, 7, 8, 9} >>> s3={1,2,3,4,5,6} >>> s4={5,6,7,8,9,10} >>> s3.symmetric_difference_update(s4) >>> print(s3) {1, 2, 3, 4, 7, 8, 9, 10}</pre>

union

<pre class="brush:php;toolbar:false">求两个或多个集合的并集 Return the union of sets as a new set.</pre><pre class="brush:php;toolbar:false">>>> s1={1,2,3,4,5,6} >>> s2={5,6,7,8,9} >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8, 9} >>> s3={1,2,3,4} >>> s4={6,7,8,9} >>> s3.union(s4) {1, 2, 3, 4, 6, 7, 8, 9}</pre>

update

<pre class="brush:php;toolbar:false">与另一个集合求并集,并返回给自身 Update a set with the union of itself and others.</pre><pre class="brush:php;toolbar:false">>>> s3={1,2,3,4} >>> s4={6,7,8,9} >>> s3.update(s4) >>> print(s3) {1, 2, 3, 4, 6, 7, 8, 9}</pre>

您可能感兴趣的文章:
python set有序吗
Python之set集合的相关介绍
python中集合可变吗
fluent python是什么意思
python怎么把列表转换为集合
python set函数是什么
python中set是什么意思
python中的set是什么
详解MySQL数据库的集合类型SET的DDL变更方法
流畅的python适合入门吗

[关闭]
~ ~