详解python的集合set的函数

目录
  • 常用
    • 查询
    • 增加
    • 删除
  • 交、并、补、对称差
    • 交集
    • 并集
    • 补集
    • 对称差
  • 其他
  • 总结

s={ x1,x2,x3.....};

集合有自动去重的功能,而且可以进行交并补运算,而且集合是无序的,每次打印的结果不一样,故不可以用元素下标进行取值。因无法取值,故无法对特定的值进行修改。但是可以进行删除操作。

s=set();表示创建一个空的集合。注意:s={}表示创建一个空的字典。

常用

查询

x in s,s为一个集合,返回bool类型,判断x是否在集合s中。

增加

s.add(“x”);将“x”添加到集合s中。

删除

s.pop();随机删除集合s中的一个元素。

s.remove(“x”);删除集合s中的元素“x”,若无“x”则报错。

s.discard(“x”);删除集合s中的元素“x”,若无“x”不报错。

s.clear();将集合s清空,清空后s=set()。

交、并、补、对称差

交集

s=s1&s2s=s1.intersection(s2)s=set.intersection(s1,s2);得到集合s为集合s1和集合s2的交集。

并集

s=s1|s2s=s1.unoin(s2)s=set.union(s1,s2);得到集合s为集合s1和集合s2的并集。

补集

s=s1-s2s=s1.difference(s2)s=set.difference(s1,s2);得到集合s为在集合s1中但不在集合s2中的元素。

对称差

s=s1^s2s=s1.symmetric_difference(s2)s=set.symmetric_difference(s1,s2);得到集合s为仅在集合s1和仅在集合s2中的元素之和。

其他

s1=s.copy();将集合s的数据复制给集合s1,s和s1的地址不同,互不影响。(若用s1=s,则s1的数据与s相同且地址相同,对s做修改等于对s1做修改)

s.difference_update(s1,s2);将s-s1-s2的结果(补集)赋值给s。

s.intersection_update(s1,s2);将s&s1&s2的结果(交集)赋值给s。

s.isdisjoint(s1);如果s与s1的交集为空,则返回True,否则返回False。

s.issubset(s1);若s为s1的子集,则返回True。

s.issuperset(s1);若s1为s的子集,则返回True。

s.symmetric_difference_update(s1);括号内只能有一个参数,将s^s1的结果(对称差)赋值给s。

s.update(s1,s2);将s|s1|s2的结果(并集)赋值给s 。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

时间: 2022-01-13

Python set常用操作函数集锦

定义 set是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环迭代集合的成员.但是因为集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值. set和dict一样,只是没有value,相当于dict的key集合,由于dict的key是不重复的,且key是不可变对象因此set也有如下特性:

python set内置函数的具体使用

set集合 无序可变 由不同元素组成 其元素必须为可哈希的类型(通俗来说不可变类型) 集合的两种定义方式 使用{} Eg:{1,2,3,4,5} 使用set(可迭代类型)函数 Eg:set("hello") * 使用frozenset()函数创建不可变集合 基本函数 s = set("hello") """ 添加一个元素到集合中 """ s.add('b') """ 使用可迭代

Python 利用内置set函数对字符串和列表进行去重的方法

如下所示: # coding:utf8 __author__ = 'libingxian' __date = "20170415" # 由于数据类型set本身具有无序,唯一值的特性,可以用内置函数set对字符串和列表进行去重,挺方便的 str = "asdfasdlklfgklgjsdfjkjl" se = set(str) print se li = [1,"2",1,"2","abc","12

python中set()函数简介及实例解析

set函数也是python内置函数的其中一个,属于比较基础的函数.其具体介绍和使用方法,下面进行介绍. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. set,接收一个list作为参数 list1=[1,2,3,4] s=set(list1) print(s) #逐个遍历 for i in s: print(i) 输出: set([1, 2, 3, 4]) 1 2 3 4 使用add(key)往集合中添加元素,重复的元素自动过滤 list1

详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数

hasattr()函数 hasattr()函数用于判断是否包含对应的属性 语法: hasattr(object,name) 参数: object--对象 name--字符串,属性名 返回值: 如果对象有该属性返回True,否则返回False 示例: class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name))

详解Python的hasattr() getattr() setattr() 函数使用方法

hasattr(object, name) 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False. 需要注意的是name要用括号括起来 >>> class test(): ... name="xiaohua" ... def run(self): ... return "HelloWord" ... >>> t=test() >>> hasattr(

详解Python3中的 input() 函数

一.知识介绍: 1.input() 函数,接收任意输入,将所有输入默认为字符串处理,并返回字符串类型: 2.可以用作文本输入,如用户名,密码框的值输入: 3.语法:input("提示信息:") . 二.运用演示: 1.接收任意输入,并返回字符串类型: >>>height = input("输入身高:")          #运行 输入身高: 170                      #输入整数170 >>> type(a)

详解python中的lambda与sorted函数

lambda表达式 python中形如: lambda parameters: expression 称为lambda表达式,用于创建匿名函数,该表达式会产生一个函数对象. 该对象的行为类似于用以下方式定义的函数: def <lambda>(parameters): return expression python中的lambda函数可以接受任意数量的参数,但只能有一个表达式.也就是说,lambda表达式适用于表示内部仅包含1行表达式的函数.那么lambda表达式的优势就很明显了: 使用lam

详解Python3中的迭代器和生成器及其区别

介绍 本篇将介绍Python3中的迭代器与生成器,描述可迭代与迭代器关系,并实现自定义类的迭代器模式. 迭代的概念 上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值 注:循环不是迭代 while True: #只满足重复,因而不是迭代 print('====>')  迭代器 1.为什么要有迭代器? 对于没有索引的数据类型,必须提供一种不依赖索引的迭代方式. 2.迭代器定义: 迭代器:可迭代对象执行__iter__方法,得到的结果

详解python3中socket套接字的编码问题解决

一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = 21567 #随机提供个端口号 BUFSIZ = 1024 # 缓冲区大小设置为1KB,可以根据网络性能和程序需要改变这个容量 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) #分配了 TCP 服务器套接字 tcpSerSo

详解Python3中setuptools、Pip安装教程

1.安装setuptools 命令如下: wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26 tar -zxvf setuptools-19.6.tar.gz cd setuptools-19.6 python3 setup.py build python3 setup

详解Python3中的正则表达式的基本用法

正则表达式 本节我们看一下正则表达式的相关用法,正则表达式是处理字符串的强大的工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在话下. 当然对于爬虫来说,有了它,我们从HTML里面提取我们想要的信息就非常方便了. 实例引入 说了这么多,可能我们对它到底是个什么还是比较模糊,下面我们就用几个实例来感受一下正则表达式的用法. 我们打开开源中国提供的正则表达式测试工具http://tool.oschina.net/regex/,打开之后我们可以输入待匹配的文本,然后选择常用的

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

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

详解JavaScript中的Unescape()和String() 函数

JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解码. 语法 unescape(string) 参数 描述 string 必需.要解码或反转义的字符串. 返回值 string 被解码后的一个副本. 说明 该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx