集合

集合的描述

set是一个无序不重复的序列,可以用{}或者 set() 函数创建集合,它存放不可变类型(如字符串、数字、元组)数据。

注意:创建一个空集合必须使用set()方法,因为{}是用来生成一个空字典的。

集合的方法

  • add()

将元素添加到集合中。

s1 = {1,2,3,4,5}
s1.add('new_number')
print(s1)

{1, 2, 3, 4, 5, 'new_number'}

  • update()

可一次更新多个值。

# update(x),将x添加到集合中,且参数可以是列表、元组、字典等
s2 = set(('aaa', 'ccc', 'fff'))
# 添加字典只能添加不可变的--键
dict_1 = {'name': 'bb', 'age': 'cc', 'aaa': 11}
s2.update(dict_1)
print("新集合", s2)

新集合 {'name', 'aaa', 'fff', 'ccc', 'age'}

  • remove()

移除集合中的某个元素。

s3 = set(('aaa', 'ccc', 'fff'))
s3.remove('ccc')
print(s3)

{'aaa', 'fff'}

此外还有一个discard()函数也能移除集合中的元素,与remove()不同的是,移除的元素是字典中没有的元素时discard()不会报错。

  • pop()

随机删除集合中的一个元素。

s4 = set(('aaa', 'ccc', 'fff'))
s4.pop()
print(s4)

{'aaa', 'ccc'}

  • clear()

清空集合

  • 计算集合元素个数。

    s5 = set(('aaa', 'ccc', 'fff'))
    print('集合元素个数为:'+str(len(s5)))

  • copy()

复制一个新的集合。

s6 = s5.copy()
print(s6)

{'aaa', 'ccc', 'fff'}

  • difference()

求差集,也可以用-

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f', 1, 'ww'}
# 两种求差集的方法
print("在s中不在s1中: ", s.difference(s1))
print("在s1中不在s中: ", s1-s)
在s中不在s1中: {'cc'}

在s1中不在s中: {'ww', 1}

  • intersection()

求交集,也可以用&

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f', 1, 'ww'}
# 同时在集合s 和 s1 中的元素
print(s.intersection(s1))
print(s1&s)
  • union()

求并集,也可以用|

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f', 1, 'ww'}
# 元素在集合 s 中或在集合 s1 中
print(s.union(s1))
print(s1|s)
  • sysmmetric_difference()

求对称差集,也可以用^

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f', 1, 'ww'}
# 除集合s和集合s1共有的以外的元素
print(s.symmetric_difference(s1))
print(s1^s)
  • issubset()

判断一个集合是否是另一个集合的子集.

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f'}
print(s.issubset(s1))
print(s1.issubset(s))
  • isuperset()

判断一个集合是否是另一个集合的父集.

s = set(('a', 'cc', 'f'))
s1 = {'a', 'f'}
print(s.issuperset(s1))
print(s1.issuperset(s))
# s1是s的子集,s是s1的父集
print(s1.issubset(s))
  • isdisjoint()

检测2个集合是否不存在交集,如果存在交集,则返回False

s1 = {'ljl','wc','xy','zb','lsy'}
s2 = {'mmf','lsy','syj'}
s3 = {1, 2}
print(s1.isdisjoint(s2))
print(s1.isdisjoint(s3))
  • frozenset()

定义不可变集合

s = frozenset('a', 'b')

Python集合:set的更多相关文章

  1. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  2. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  3. python集合使用范例的代码

    在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...

  4. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  5. Python 集合内置函数大全(非常全!)

    Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s ...

  6. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

  7. python集合可以进行相减

    python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...

  8. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  9. Python - 集合 - 第十一天

    Python 集合 集合(set)是一个无序的不重复元素序列. 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建 ...

  10. python集合set,交集,并集,差集,对称差集,子集和超集

    python集合set,交集,并集,差集,对称差集,子集和超集 x = {1, 2, 3, 4} y = {2, 4, 5, 6} # 交集(取x中与y中相同部分) print(x.intersect ...

随机推荐

  1. Windows PE资源表编程(枚举资源树)

    资源枚举 写一个例子,枚举一个PE文件的资源表.首先说下资源相关的作为铺垫. 1.资源类型也是PE可选头中数据目录的一种.位于第三个类型. 2.资源目录分为三层.第四层是描述文件相关的.这些结构是按照 ...

  2. Photoshop 第二课 工具-钢笔的使用

    钢笔的使用 钢笔→ 是一个非常实用(主要用于)但是非常难操作(会者不难哦~)的工具. 钢笔属性中有三种状态:1.路径:2.形状:3.像素.其中路径和形状是我们最常用的状态.路径是一条用来圈定需要操作的 ...

  3. node-util

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

  4. [CTF]凯撒密码

    [CTF]凯撒密码 ---------------------  作者:___Blue_H  来源:CSDN  原文:https://blog.csdn.net/qq_37653144/article ...

  5. 【python】Leetcode每日一题-丑数

    [python]Leetcode每日一题-丑数 [题目描述] 给你一个整数 n ,请你判断 n 是否为 丑数 .如果是,返回 true :否则,返回 false . 丑数 就是只包含质因数 2.3 和 ...

  6. C++PRIMER第五版练习题答案第一章

    C++PRIMER第五版练习题答案第一章 应该有很多小伙伴和我一样,闲来无事买了本C++的书自己啃,课后的练习题做的很揪心,这里我分享下我写的答案,希望能帮助到你,提供源码,就不跑了哈,毕竟现在是第一 ...

  7. [bug] kafka启动报错 could not be established. Broker may not be available.

    原因 配置文件和命令行中的主机名不一致,建议都用ip地址 参考 https://blog.csdn.net/getyouwant/article/details/79000524

  8. 常用的HTML标记

    一.格式标记 1.<br> <br>是一个单标记,用来强制换行. 2.<p> <p>是双标记.用来换分段落. 3.<center> < ...

  9. stressapptest工具

    1.在H桌面V7B04上运行stressapptest工具编译报错.请研发协助! 2.因为stressapptest工具在兆芯和龙芯都能正常运行,所以我怀疑是工具stressapptest未在H桌面V ...

  10. centos 6 x64 yum(sohu)

    centos 6 x64 yum(sohu) weixin_34405354 2012-08-23 10:07:35 24 收藏 文章标签: 运维 版权 [base] name=Base baseur ...