python3中set(集合)的语法总结分享

介绍

set 顾明思义,就是个集合,集合的元素是唯一的,无序的。一个{ }里面放一些元素就构成了一个集合,set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组)

集 合 是 一 个 无 序 不 重 复 元素 的 集 。 基 本 功 能 包 括 关 系 测 试 和 消 除 重 复 元 素 。 集 合 对 象 还 支 持 union( 联
合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算。

大括号或 set() 函数可以用来创建集合。 注意:想要创建空集合,你必须使用set() 而不是 {} 。{}用于创建空字典;

具体的语法总结如下。

add(增加元素)

name = set(['Tom','Lucy','Ben'])
name.add('Juny')
print(name)

#输出:{'Lucy', 'Juny', 'Ben', 'Tom'}

clear(清空所有元素)

name = set(['Tom','Lucy','Ben'])
name.clear()
print(name)

#输出:set()

copy(拷贝set集合)

name = set(['Tom','Lucy','Ben'])
new_name = name.copy()
print(new_name)

#输出:{'Tom', 'Lucy', 'Ben'}

difference(返回两个或多个集合中不同的元素,并生成新的集合)

A = set([2,3,4,5])
B = set([3,4])
C = set([2])
n = n1.difference(n2,n3)
print(n)

#输出:{5}
#返回A集合里面,在B和C集合中没有的元素,并生成新的集合

difference_update(删除A集合里面,在B集合中存在的元素。)

A = set([2,3,4,5])
B = set([4,5])
A.difference_update(B)
print(A)

#输出:{2, 3}

discard(移除元素)

n = set([2,3,4])
n.discard(3)
print(n)

#输出:{2, 4}

intersection(取交集,并生成新的集合)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n = n1.intersection(n2)
print(n)

#输出:{4, 5}

intersection_update(取交集,修改原来的集合)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
n1.intersection_update(n2)
print(n1)

#输出:{4, 5}

isdisjoint(判断交集,是返回False,否返回True)

n1 = set([2,3,4,5])
n2 = set([4,5,6,7])
print(n1.isdisjoint(n2))

#输出:False

issubset(判断子集)

A = set([2,3])
B = set([2,3,4,5])
print(A.issubset(B))

#输出:True
#A是B的子集

issuperset(判断父集)

A = set([2,3])
B = set([2,3,4,5])
print(B.issuperset(A))

# 输出:True
#B是A的父集

pop(随机移除一个元素)

n = set([2,3,4,5])
n1 = n.pop()
print(n,n1)

# 输出:{3, 4, 5} 2

remove(移除指定元素)

n = set([2,3,4,5])
n.remove(2)
print(n)

# 输出:{3, 4, 5}

symmetric_difference(取交集,并生成新的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.symmetric_difference(B))

# 输出:{2, 3, 6, 7}

symmetric_difference_update(取交集,改变原来的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
A.symmetric_difference_update(B)
print(A)

# 输出:{2, 3, 6, 7}

union(取并集,并生成新的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
print(A.union(B))

# 输出:{2, 3, 4, 5, 6, 7}

update(取并集,改变原来的集合)

A = set([2,3,4,5])
B = set([4,5,6,7])
A.update(B)
print(A)

# 输出:{2, 3, 4, 5, 6, 7}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Python中集合类型(set)学习小结

    set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码 代码如下: s0 = set() d0 = {} s1 = {0} s2 = {i % 2 for i in range(10)} s = set('hi') t = set(['h', 'e', 'l', 'l', 'o']) print(s0, s1, s2, s, t, type(d0)) 运行结果: 复制代码 代码如下: set() {

  • Python set集合类型操作总结

    Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替) 小例子 1.如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决 复制代码 代码如下: x & y & z # 交集 2.去重 复制代码 代码如下: >>> lst = [1,2,3,4,1] >>> print list(set(lst)) [1, 2, 3, 4] 用法 注意se

  • 浅谈Python 集合(set)类型的操作——并交差

    阅读目录 •介绍 •基本操作 •函数操作 介绍 python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并.交.差.对称差等. sets 支持 x in set. len(set).和 for x in set.作为一个无序的集合,sets不记录元素位置或者插入点.因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作. 基本操作 >>> x = set("jihite")

  • 跟老齐学Python之集合(set)

    回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple 还真的不少了. 不过,python是一个发展的语言,没准以后还出别的呢.看官可能有疑问了,出了这么多的数据类型,我也记不住呀,特别是里面还有不少方法. 不要担心记不住,你只要记住爱因斯坦说的就好了. 爱因斯坦在美国演讲,有人问:"你可记得声音的速度是多少?你如何记下许多东西?" 爱因斯坦轻松答道:"声音的速度是多少,我必须查辞典才能回答.因为我从来不记在辞典上已经印着的东西,我的记忆力是用来

  • 详解Python3 中的字符串格式化语法

    一.旧式的字符串格式化 % 操作符 参考以下示例: >>> name = "Eric" >>> "Hello, %s." % name 'Hello, Eric.' 当有多个变量需要插入到字符串中时: >>> name = "Eric" >>> age = 74 >>> "Hello, %s. You are %s." % (name,

  • Python3中的列表生成式、生成器与迭代器实例详解

    本文实例讲述了Python3中的列表生成式.生成器与迭代器.分享给大家供大家参考,具体如下: 列表生成式 Python内置的一种极其强大的生成列表 list 的表达式.返回结果必须是列表. 基本语法: [ 变量表达式 for 变量 in 表达式 ] 示例 a = [x ** 2 for x in range(1, 10)] b = [x * x for x in range(1, 11) if x % 2 == 0] c = [m + n for m in 'ABC' for n in '123

  • Swift循环遍历集合的方法总结分享

    前言 之前分享总结过OC循环遍历,文章点击这里:iOS遍历集合(NSArray,NSDictionary.NSSet)方法总结.随着Swift的逐渐完善,自己使用Swift开发的项目经验和知识逐渐积累,是时候总结一下Swift的循环遍历了.相信Swift一定会给你一些不一样的东西,甚至是惊喜,感兴趣的朋友们下面来一起看看吧. 第一种方式:for-in循环 OC延续了C语言的for循环,在Swift中被彻底改造,我们无法再使用传统形式的for循环了 遍历数组和字典: //遍历数组 let iosA

  • 简单谈谈python中的语句和语法

    python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句中,多条语句组成代码块,多个代码块再组成一整个程序.python的核心其实是由语句和表达式组成.所以在这里简单探讨一下python中的语句和表达式. 因为以后可能会接触到两个版本的python,所以这里讲一讲python2与python3的语句差异: 1.python2中没有nolocal语句. 2.prin

  • Python3中函数参数传递方式实例详解

    本文实例讲述了Python3中函数参数传递方式.分享给大家供大家参考,具体如下: 之前在看北理工嵩天等老师的python3的课程,在第五周中老师讲到了函数的调用传递.老师讲了这样一个例子 #处理多个银行账户的余额信息 def addInterest(balances, rate): for i in range(len(balances)): balances[i] = balances[i] * (1+rate) def test(): amounts = [1000, 105, 3500,

  • 基于Python2、Python3中reload()的不同用法介绍

    reload() 简介 作用:用于重新载入之前载入的模块 语法格式:reload(module) 参数:module为模块对象,必须已经被加载 返回值:返回模块对象 注意事项: 多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境. reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块:reload后还是用原来的内存地址:

  • python3中的md5加密实例

    在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1.SHA224.SHA256.SHA384.SHA512和MD5算法等. 另:在网上找关于python的md5加密,发现要不是比较旧的不适用当前py版本的文章,或者是说得不够清楚的文章,所以还是自己去看下官方文档比较好,顺便整理下关于md5的使用方法. 对于学习任何一门程序类知识,我都认为去看官方文档这种学习方式最有效的之一,只不过一般这些文档都是英文版的,对于一些学习者来说可能会有一

  • 在python3中实现查找数组中最接近与某值的元素操作

    我就废话不多说了,直接上代码吧! import datetime def find_close(arr, e): start_time = datetime.datetime.now() size = len(arr) idx = 0 val = abs(e - arr[idx]) for i in range(1, size): val1 = abs(e - arr[i]) if val1 < val: idx = i val = val1 use_time = datetime.dateti

  • Python3中的tuple函数知识点讲解

    本期给大家讲解的函数都不陌生,大家都遇到使用过,但是不要轻易觉得简单去学习,因为往往看似简单的东西,从一个方面深入下收都是一大堆的东西,千万不要停留在表面的认知,所以,为了让大家更好的掌握了解,下面小编整合相关的所以内容,给大家做详细的使用介绍,一起来了解学习下吧. 描述: 主要作用就是将列表转化成元组 语法: tuple() 参数: 列表 返回值: 元组 使用方式: list = ['example_A'] print (list) tuple = ('example_B',) print (

  • 在python3中使用Supervisor的详细教程

    目录 supervisor介绍 安装supervisor 设置环境变量 配置supervisor 管理一个进程 supervisor配置文件详解 启动supervisor 有时候kill进程之后需要释放连接 web界面管理 开启web访问 supervisorctl的用法 superlance介绍 Supervisord支持的Event 安装superlance superlance实战 supervisor介绍 首先,介绍一下supervisor.Supervisor(http://super

随机推荐