一、集合(数字,字符串,元组)

1、定义

由不同元素组成的集合,集合中是一组无序排列的哈希值,可以作为字典的key

2、特性

无序,不同元素组成,必须是不可变类型

3、set输出与去重

s=set('hello')
s >> {'e', 'h', 'l', 'o'}

4、add添加元素

s = {1,2,3,4,"3"}
s.add(5)
s.add(2)
s >> {1, 2, 3, '3', 4, 5}

5、clear清空集合

s = {1,2,3,4,"3"}
s.clear()
s >> set()

6、copy 拷贝元素

s = {1,2,3,4,"3"}
s1 = s.copy()
s >> [1, 2, 3, 4, '3']
s1 >> [1, 2, 3, 4, '3']
id(s) >>  113879880
id(s1) >>  109192584

7、pop随机删除一个元素

s = {1,2,3,4,"3"}
s.pop() >> '3'
s >> [1,2,3,4]

8、 remove, discard 指定删除  集合中的元素

  remove 删除不存在元素,会报错。

#使用remove时,如果删除的元素不存在,会报错
s = {1,2,3,4,"3"}
s.remove('sssss')
s >>

ValueError Traceback (most recent call last)
<ipython-input-60-7934dc97039e> in <module>
----> 1 s.remove('ssss')

ValueError: list.remove(x): x not in list

 discard  删除不存在元素,不会报错。

#使用discard时,删除不存在元素,不会报错
s = {1,2,3,4,"3"}
s.discard('sssss')
s >>
{1, 2, 3, 4, '3'}

二、集合的交集,并集,差集

1、交集,两个集合相同的部分

  intersection 

  &

p=['lcg','szw','zjw','lcg']
l=['lcg','szw','sb']
p_s=set(p)
l_s=set(l)

p_s >> {'lcg', 'szw', 'zjw'}
l_s >>  {'lcg', 'sb', 'szw'} #求交集
p_s&l_s >> {'lcg', 'szw'}
p_s.intersection(l_s) >>

2、并集,两个集合所有的元素合在一起

   union    

    | 

p=['lcg','szw','zjw','lcg']
l=['lcg','szw','sb']
p_s=set(p)
l_s=set(l)

p_s|l_s >> {'lcg', 'sb', 'szw', 'zjw'}
p_s.union(l_s) >> {'lcg', 'sb', 'szw', 'zjw'}

3、差集,两个集合中第一个集合中有,第二个集合中没有的元素

   difference

   —

p=['lcg','szw','zjw','lcg']
l=['lcg','szw','sb']
p_s=set(p)
l_s=set(l)
p_s-l_s >>  {'zjw'}
p_s.difference(l_s) >>  {'zjw'}

4、交叉补集,两个集合除去相同元素所得到的集合

  symmetric_difference

  ^

p=['lcg','szw','zjw','lcg']
l=['lcg','szw','sb']
p_s=set(p)
l_s=set(l)
p_s^l_s >>  {'sb', 'zjw'}
p_s.symmetric_difference(l_s) >>  {'sb', 'zjw'}

5、求差集后更新原集合

  difference_update

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l) p_s.difference_update(l_s)
p_s >> {'zjw'}

6、判断两集合是否有交集,没有为Ture

  isdisjoint

s1={1,2,3}
s2={4,5}
s1.isdisjoint(s2) >> True

7、判断s1是不是s2的子集

 issubset
s1={1,2,}
s2={1,2,3}
s1.issubset(s2) >> True 

8、判断s1是不是s2的父集

  issuperset

s1={1,2,3}
s2={1,2,}
s1.issuperset(s2) >> True

9、更新多个值

  update 

s1={1,2,3}
s1.update([4,5])
s1 >>
{1, 2, 3, 4, 5}

10、frozenset  不可变集合  

 元素一经创建,不可增加、删除和修改。因此没有add、pop、discard、remove和所有以_update结尾的方法。但可以作为左值接受赋值。

python基础—集合的更多相关文章

  1. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  2. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  3. python基础 ------ 集合

    ---恢复内容开始--- -----   集合 使用场景:网购的订单.与商品ID 一一对应的商品信息 python的内置类型:List  Tuple  Dictionary ----  列表   LI ...

  4. python基础-集合小结

    Python-基础-集合小结 集合 简介 声明 常用操作 成员关系 新增删除 集合间操作 其他 补充 集合 简介 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和 ...

  5. Python学习【day04】- Python基础(集合、函数)

    集合 #!/usr/bin/env python # -*- coding:utf8 -*- # set集合 只可放不可变的数据类型,本身是可变数据类型,无序 # s = {1,2,3,[1,2,3] ...

  6. python基础---集合类型(Sets)

    集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的重复.以及科学计算,例如交集.并集.差分和对称差分.通俗点来说,集合是一个无序 ...

  7. python 基础 集合

    集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 交集 并集 差集 子集  对称差集 list ...

  8. Python基础——集合(set)

    集合可以去除掉列表中重复的元素. 创建 list1=[123,123,456,789] list1=set(list1) list1 set1=set() type(set1) set1=set([1 ...

  9. python基础-集合set及内置方法

    数据类型之集合-set 用途:多用于去重,关系运算 定义方式:通过大括号存储,集合中的每个元素通过逗号分隔.集合内存储的元素必须是不可变的,因此,列表-List 和字典dict 不能存储在集合中 注意 ...

  10. <Python基础>集合的基本操作

    #小知识点:返回对象的内存地址 i,j = 1,2 print(id(i),id(j)) #集合的基本操作, #相当于没有键值对的字典,里面的元素是无序且不重复的 #一般写法 s = set({1,2 ...

随机推荐

  1. go 逐行读取文件

    前言 文件 I/O,特别是对文件的读写是编程语言中重要的功能.通常,我们需要逐行读取文件. GO 提供了 bufio 软件包,实现了有缓冲的 I/O.它包装一个 io.Reader 或 io.Writ ...

  2. Ubuntu上安装MySQL / MariaDB

    目录 在Ubuntu上安装MySQL 更新Ubuntu 安装MySQL 安全的MySQL 优化MySQL(仅限高级用户) 如何在Ubuntu上安装MariaDB 更新Ubuntu 安装MariaDB ...

  3. 一款torrent文件格式分析工具(绿色纯天然)

    点击下载 1.主界面 2.文件分析(显示文件所在分片的位置) 3.获取指定分片所在的peers服务器列表 一只会铲史的猫

  4. 小程序登录与OAuth规范

    登录认证是一个完整应用必备的模块,除非你的应用程序不需要任何与用户相关的功能 比如hao123 这种静态导航网站一般不会涉及用户体系. 很多人在最初接触小程序登录功能时,会误认为以微信为入口的小程序使 ...

  5. 查看docker服务状态

    root用户使用 #查看docker服务状态: systemctl status docker 非root用户使用 #查看docker服务: sudo systemctl status docker

  6. 数字先锋 | 打造专属AI大脑,天翼云助力重庆理工大学开启智慧校园新篇!

    从在线课程的蓬勃兴起,到远程教育的逐渐普及,再到智能教学工具的广泛应用--人工智能.大数据.云计算等前沿技术迅速发展的当下,科技正以前所未有的深度和广度重塑教育领域,促使教育各个层面发生深刻变革.师生 ...

  7. 【Java】UDP套接字编程

    服务器 udpserver.java package server; import java.net.DatagramPacket; import java.net.DatagramSocket; i ...

  8. Golang HTTPS

    用golang来实现的webserver通常是是这样的 //main.go package main import ( "fmt" "io" "net ...

  9. study Rust-2【环境与配置,随机数】

    Rust教程资料很多.但是,这是教程学习资料感觉挺好!推荐给你https://doc.rust-lang.org/stable/book/ (简体中文译本)在线阅读 学习rust开始有点感觉了.美好的 ...

  10. tesseract引擎RVV代码学习笔记

      Tesseract 是一个开源的 OCR(Optical Character Recognition,光学字符识别)引擎,可将图像中的文本转换为机器可读的文本格式.由于组内曾经有同事为这个项目贡献 ...