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]
用法
注意set因为没有位置的概念所以list方法切片什么的都没有用,需要的时候再转化为list
内建函数创建set
set([1, 2, 3, 4])
基本操作
t.add('x') # 添加一项
s.update([10,37,42]) # 在s中添加多项
t.remove('H') # 删除一项
len(s) # set 的长度
x in s # 测试 x 是否是 s 的成员
x not in s # 测试 x 是否不是 s 的成员
s.issubset(t)
s <= t # 测试是否 s 中的每一个元素都在 t 中
s.issuperset(t)
s >= t # 测试是否 t 中的每一个元素都在 s 中
s.union(t)
s | t # 返回一个新的 set 包含 s 和 t 中的每一个元素
s.intersection(t)
s & t # 返回一个新的 set 包含 s 和 t 中的公共元素
s.difference(t)
s - t # 返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.symmetric_difference(t)
s ^ t # 返回一个新的 set 包含 s 和 t 中不重复的元素
s.copy() # 返回 set “s”的一个浅复制
相关推荐
-
python3中set(集合)的语法总结分享
介绍 set 顾明思义,就是个集合,集合的元素是唯一的,无序的.一个{ }里面放一些元素就构成了一个集合,set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组) 集 合 是 一 个 无 序 不 重 复 元素 的 集 . 基 本 功 能 包 括 关 系 测 试 和 消 除 重 复 元 素 . 集 合 对 象 还 支 持 union( 联 合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算. 大括号或 s
-
跟老齐学Python之集合(set)
回顾一下已经了解的数据类型:int/str/bool/list/dict/tuple 还真的不少了. 不过,python是一个发展的语言,没准以后还出别的呢.看官可能有疑问了,出了这么多的数据类型,我也记不住呀,特别是里面还有不少方法. 不要担心记不住,你只要记住爱因斯坦说的就好了. 爱因斯坦在美国演讲,有人问:"你可记得声音的速度是多少?你如何记下许多东西?" 爱因斯坦轻松答道:"声音的速度是多少,我必须查辞典才能回答.因为我从来不记在辞典上已经印着的东西,我的记忆力是用来
-
浅谈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)学习小结
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和frozenset详解
目录 集合类型—set,frozenset set和frozenset的实例提供以下操作: len(s) xins xnotins isdisjoint(other) issubset(other) issuperset(other) union(*others) intersection(*others) difference(*others) symmetric_difference(other) copy() 可用于set而不能用于不可变的frozenset实例的操作: update(*o
-
python 的集合类型详解
目录 集合: 创建集合 集合的基本操作 集合的内建函数和方法 总结 集合: 无序不重复的元素的组合 利用集合可以删除列表中的重复项(set()唱用作去重操作) 分类:可变集合(set),不可变集合(frozenset) 创建集合 用set()函数(可变集合)或frozenset()函数(不可变集合)创建 set() frozenset() 不可变集合是可哈希的,可变集合是可哈希的 集合的基本操作 -:为差补(离散中叫相对补) x属于A-B等价于x属于A但x不属于B ^
-
深入解析Python中的集合类型操作符
(1)标准类型操作符(所有的集合类型) 成员关系 (in, not in) 就序列而言,Python中的in和not in操作符决定某个元素是否是一个集合中的成员. 集合等价/不等价 等价/不等价被用于在相同或不同的集合之间做比较.两个集合相等是指,对每个集合而言,当且仅当其中一个集合中的每个成员同时也是另一个集合中的成员.也可以说每个集合必须是另一个集合的一个子集, 即s <= t 和s>= t 的值均为真(True),或(s <= t and s>
-
Python中的集合类型知识讲解
集合类型 数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements).Python把这个概念引入到它的集合类型对象里.集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.数学集合转为Python的集合对象很有效,集合关系测试和union.intersection等操作符在Python里也同样如我们所预想地那样工作. 和其他容器类型一样,集合支持用in和not in操作符检查成员,由len()内建函数得
-
python集合类型用法分析
本文实例分析了python集合类型用法.分享给大家供大家参考.具体分析如下: python的集合类型和其他语言类似, 是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似. 一.先看下python 集合类型的不重复性,这方面做一些去重处理非常的好
-
python内置数据类型之列表操作
数据类型是一种值的集合以及定义在这种值上的一组操作.一切语言的基础都是数据结构,所以打好基础对于后面的学习会有百利而无一害的作用. python内置的常用数据类型有:数字.字符串.Bytes.列表.元组.字典.集合.布尔等 1.什么是列表 lst[#] 通过下标访问,从0开始. ps:如果#超过下标的范围时候会出现IndexError的错误. 如果#为负号,则索引从右边开始,#无论为正负均有范围,超过范围会报错. lst = list(range(0,9)) #生产列表 l1 = lst[3]
-
基于python的列表list和集合set操作
以下是一些python的list和set的基本操作 1. list的一些操作 list = [1, 2, 3] list.append(5) print(list) list.extend([7, 8]) # extend是将可迭代对象的元素依次加入列表 print(list) list.append([7, 8]) # append是把传入的参数当成一个元素加入列表 print(list) list.reverse() # 元素翻转,注意不能将这个操作赋给一个变量,此操作是对list本身操作,
-
Redis有序集合类型的操作_动力节点Java学院整理
今天我们说一下Redis中最后一个数据类型 "有序集合类型",回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个世界上都已经存在着,曾几何时,我们想把所有数据按照数据结构模式组成后灌输到内存中,然而为了达到内存共享的方式,不得不将这块内存单独部署,同时还要考虑怎么序列化,何时序列互的问题,烦心事太多太多...后来才知道有redis这么个玩意,能把高级的,低级的数据结构单独包装到一个共享内存中(Redi
随机推荐
- 详解Windows下的权限设置方法
- dos 创建文件夹 md
- WIN2003 服务器安全配置批处理文件
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
- javascript中new关键字详解
- 详解Golang互斥锁内部实现
- Android中代码运行指定Apk的简单方法
- Javascript获取图片原始宽度和高度的方法详解
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- ajax处理服务器返回的三种数据类型方法
- JQuery中的ready函数冲突的解决方法
- Android拍照上传功能示例代码
- javascript显示倒计时控制按钮的简单实现
- Android EditText搜索框实现图标居中
- 详解C++编程中类的声明和对象成员的引用
- Android中View的炸裂特效实现方法详解
- Android高级组件ImageSwitcher图像切换器使用方法详解
- Python网络编程使用select实现socket全双工异步通信功能示例
- 易语言的找字、找图实例
- 深入学习java内存化和函数式协同