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”的一个浅复制

(0)

相关推荐

  • 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

随机推荐