1.集合

"""

    集合(set):没有重复元素且没有顺序的数据结构
    定义语法:
        s = set({})  #空集合
        s = set({1, 2, 3, 4, 5})
    增加:
        add()           往集合添加一条数据
        update()        合并,支持传入列表、字典、元组、集合,不支持传入单个元素
    删除:
        remove()        根据值删除,值不存在会报错
        discard()       根据值删除,值不存在不会报错
        pop()           随机删除
        clear()         清空
    长度:
        len             获取元素的容量大小
    元素是否存在:
        in              set中存在该值吗?
        not in          set中不存在该值吗?

    交集 &               获取两个集合中共同有的元素
    并集 |               获取两个集合中的所有元素
    差集 -               获取在a集合中出现了但在b集合的中没有出现的元素
"""

# 定义语法:
# s = set({})#定义一个空集合
# s = set({1, 2, 3, 4})  # 定义一个有初始化值的集合
#  没有重复元素
# s = {1, 2, 3, 4, 1}
# print(s)  # {1, 2, 3, 4}

# 增加:
# add()
# s = set({})
# s.add("1")
# s.add("2")
# s.add("3")
# print(s)  # {'2', '3', '1'}

# update()
# s = set({1, 2, 3})

# s.update((4, 5))  # 传入一个元组
# print(s)  # {1, 2, 3, 4, 5}

# s.update({"name": "zzw", "age": 18})  # 传入一个字典,只会把key添加进去
# print(s)

# s.update([1, 4, 5])  # 传入一个列表
# print(s)  # {1, 2, 3, 4, 5}

# s.update(set({4, 5, 6}))  # 传入一个集合
# print(s)  # {1, 2, 3, 4, 5, 6}

# s.update(1)  # 报错TypeError: 'int' object is not iterable

# 删除
# s = {1, 2, 3, 4, 5, 6}
# remove()
# s.remove(1)
# print(s)  # {2, 3, 4, 5, 6}

# discard()
# s.discard(1)  # {2, 3, 4, 5, 6}

# remove()和discard()的区别 体现在删除一个不存在元素时的处理方式不同
# s.remove(7)  # 报错
# s.discard(7)  # 不报错

"""
    pop() 随机删除一个元素
"""
# pop() 随机删除一个元素
# print(s.pop())  # 1

# clear() 清空数据
# print(s)  # {1, 2, 3, 4, 5, 6}
# s.clear()
# print(s)  # set()


# 交集、并集、差集
# 交集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 & s2)  # {2, 3}
# 并集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 | s2)  # {1, 2, 3, 4}
# 差集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 - s2)  # {1}

# 元素去重 list-->set-->list
# lis = {1, 2, 3, 1, 2, 4, 5}
# s = set(lis)
# lis = list(s)
# print(lis)  # [1, 2, 3, 4, 5] 
标签:Python

Python数据结构-集合的更多相关文章

  1. pandas快速处理Excel,替换Nan,转字典的操作

    pandas读取Excelimport pandas as pd# 参数1:文件路径,参数2:sheet名pf = pd.read_excel(path, sheet_name='sheet1')删除指定列# 通过列名删除指定列pf.drop(['序号', '替代', '签名'], axis=1, ......

  2. python爬虫利用代理池更换IP的方法步骤

    0. 前言周日在爬一个国外网站的时候,发现用协程并发请求,并且请求次数太快的时候,会出现对方把我的服务器IP封掉的情况。于是网上找了一下开源的python代理池,这里选择的是star数比较多的proxy_pool1. 安装环境# 安装python虚拟环境, python环境最好为python3.6,......

  3. python 进制转换 int、bin、oct、hex

    原理十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.n进制转十进制:(例子:二进制转十进制)101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 4110111 => 2^4 + 2^2 + 2 + 1......

  4. 如何用python批量调整视频声音

    今天来研究python中moviepy模块的用途近来有大量处理视频的需求,常会碰到一个问题是下载的视频音量过小,会需要将它调大声,虽然有在线工具VideoLouder可以免费调整视频音量大小,但毕竟若量很大的话一个一个上传视频也是挺麻烦的事情,因此决定再用程序帮忙解决。使用教学基础程序调整一个视频音......

  5. python中温度单位转换的实例方法

    温度有摄氏度和华氏度两个单位,我们通常使用的是摄氏度,对于转换成华氏度,很多小伙伴记不住公式。作为万能的计算机,它是可以帮助我们解决温度单位转换的问题。本文主要演示python中进行温度单位转换的代码过程,具体请看本文。一、问题温度有摄氏度(Celsius)和华氏度(Fabrenheit)两个不同的......

  6. 用OpenCV进行年龄和性别检测的实现示例

    本文主要介绍了用OpenCV进行年龄和性别检测的实现示例,分享给大家,具体如下:在本文中,我将带您完成用 Python 进行机器学习的年龄和性别检测的任务。年龄和性别检测属于计算机视觉的范畴,因此我将在Python中使用OpenCV库。在开始使用Python进行年龄和性别检测任务之前,我将首先带您了......

  7. 执行py文件需要可执行权限吗?

    我们知道可执行权限x在Linux系统中的重要性,那么在执行py文件的过程中,是否一定需要可执行权限呢?本文将会详细的分析几种测试案例。案例解析这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子:# module1.pydef test():print ('h......

  8. Python爬虫系统化学习(4)

    Python爬虫系统化学习(4)在之前的学习过程中,我们学习了如何爬取页面,对页面进行解析并且提取我们需要的数据。在通过解析得到我们想要的数据后,最重要的步骤就是保存数据。一般的数据存储方式有两种:存储在文件或者数据库中。在本篇博客中我会细致的讲解从零基础到血会存储在txt或者csv文件,以及通过P......

  9. Python爬虫实现selenium处理iframe作用域问题

    项目场景:在使用selenium模块进行数据爬取时,通常会遇到爬取iframe中的内容。会因为定位的作用域问题爬取不到数据。问题描述:我们以菜鸟教程的运行实例为案例。按照正常的定位会以文本块生成xpath为/html/body/text()。这样的话根据xpath进行如下代码编写。#!/user/b......

  10. pandas读取excel,txt,csv,pkl文件等命令的操作

    pandas读取txt文件读取txt文件需要确定txt文件是否符合基本的格式,也就是是否存在\t,,,等特殊的分隔符一般txt文件长成这个样子txt文件举例下面的文件为空格间隔1 2019-03-22 00:06:24.4463094 中文测试 2 2019-03-22 00:06:32.45656......

随机推荐

  1. 在使用内模块的时候需要先将所需的内置模块进行引入、OS模块在nodejs中OS模块提供了与操作系统相关的属性和方法// 导入OS内置模块,必须先进行导入,否则无法使用 const os = require("os") // 根据操作系统生成对应的换行符 console.log(o......

  2. JavaScript实现页面动态验证码的实现示例

    引言:现在很多在用户登陆或注册的时候为了防止程序攻击,加入了动态验证的技术,一般是让用户输入随即生成的验证码来实现。我自己写了一个没有跟后台交互的,就在前端验证,发出来给大家看看。效果图: 实现思路:把数字和字母放到一个数组中,通过随机的方式取得数组下标,总共取4个组成验证码;把验证码渲染出来(......

  3. nodejs事件和事件循环详解

    目录简介nodejs中的事件循环phase详解timerspending callbacksidle, preparepoll轮询checkclose callbackssetTimeout 和 setImmediate的区别两者的共同点unref 和 refprocess.nextTickproc......

  4. 【小菜学网络】MAC地址详解

    上一小节介绍了以太网帧的结构,以及帧中各个字段的作用。参与以太网通讯的实体,由以太网地址唯一标识。以太网地址也叫做 MAC 地址,我们对它仍知之甚少。以太网地址在不同场景,称谓也不一样,常用叫法包括这些:以太网地址MAC 地址硬件地址物理地址网卡地址网卡在以太网中,每台主机都需要安装一个物理设备并通......

  5. 使用 C# 9 的records作为强类型ID - 路由和查询参数

    上一篇文章,我介绍了使用 C# 9 的record类型作为强类型id,非常简洁public record ProductId(int Value); 但是在强类型id真正可用之前,还有一些问题需要解决,比如,ASP.NET Core并不知道如何在路由参数或查询字符串参数中正确的处理它们,在这篇文章中......

  6. Python初学者详细笔认知笔记

    首先编程语言有很多种,类别也比较多,和数学,外语都有很大联系,学编程外语三级以上水平更好一点。编程语言主要可以分为以下两种编译型语言:通过编译器,统一编译,一次性执行,最终生成可执行文件(相对执行更快),也叫做静态语言,它和算法联系比较紧密。比如:c语言,c#,Java等。要想学好,精通它们,对算法......

  7. SQL SERVER 获取拼音简称的函数

    /*创建取拼音首字母函数*/ create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)='') returns varchar(500) as begin /*函数实现开始*/ de......

  8. 【应急响应】Windows应急响应入门手册

    0x01 应急响应概述首先我们来了解一下两个概念:应急响应和安全建设,这两者的区别就是应急响应是被动响应、安全建设是主动防御。所谓有因才有果,既然是被动的,那么我们在应急响应的时候就得先了解本次安全事件的起因,常见的有:安全设备告警、数据被勒索加密、数据泄露在网上贩卖、网页被篡改、服务器CPU爆满卡......

  9. 利用python为PostgreSQL的表自动添加分区

    PostgreSQL引进“分区”表特性,解放了之前采用“表继承”+“触发器”来实现分区表的繁琐、低效。而添加分区,都是手动执行SQL。 演示目的:利用python来为PostgreSQL的表自动添加分区。python版本:python3+ pip3 install psycopg2 一......

  10. ASP下通过Adodb.Stream实现多线程下载大文件

    有个朋友 做 某种小众音乐交换站的(他们那个行业的昵图网),需要用到付费下载。尝试过 防盗链,不太理想,最终使用了 Adodb.Stream 读取,直接输出。解决了 盗版的问题,但是新的问题又来了。Adodb.Stream 这种方式 电脑还好说,大部分电脑浏览器都支持。移动端 很多 浏览器为了 加速......