python集合语法与应用

news2024/9/24 5:31:39

python集合语法与应用


文章目录

  • python集合语法与应用
  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验内容
  • 五、实验步骤
    • 1.创建
    • 2.增加
    • 3.删除
    • 4.集合运算
    • 5.拓展知识一
    • 6.拓展知识二
  • 总结


一、实验目的

掌握集合的用法

二、实验原理

集合中只能包含数字、字符串、元组等不可变的类型的数据,而不能包含列表、字典、集合等可变类型的数据。Python提供了一个内置函数hash()来计算对象的哈希值,凡是无法计算哈希值(调用hash()函数时抛出异常的)的对象都不能作为集合的元素,也不能作为字典对象的“键”。

内置函数len()、max()、min()、sum()、sorted()以及成员测试运算符in也适用于集合。

三、实验环境

Python3.6以上

IPython

PyCharm

四、实验内容

集合

五、实验步骤

1.创建

1.集合是无序可变序列,使用一对大括号作为界定符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。

在Python中,直接将集合赋值给变量,即创建一个集合对象。

a={3,4}
#创建集合对象
a
#查看对象内容
type(a)

在这里插入图片描述

2.使用set()函数将列表、元组等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个。

#把range对象转换为集合
a_set=set(range(8,14))
a_set
#转换时自动去除重复
b_set=set([0,1,2,3,4,0,1,2,3,7,8])
b_set
#空集合
x=set()
x

在这里插入图片描述

注意:当不再使用某个集合时,可以使用del命令删除整个集合。

2.增加

1.使用集合对象的add()方法可以为其增加新元素,如果该元素已存在于集合则忽略该操作,update()方法用于合并另外一个集合中的元素到当前集合中。

s={1,2,3}
#添加元素,重复元素自动忽略
s.add(3)
s
#更新当前集合,自动忽略重复的元素
s.update({3,4})
s

在这里插入图片描述

3.删除

1.集合对象的pop()方法用于随机删除并返回集合中的一个元素,如果集合为空则抛出异常,remove()方法用于删除集合中的元素,如果指定元素不存在则抛出异常,discard()用于从集合中删除一个特定的元素,如果元素不存在集合中则忽略该操作,clear()方法清空集合删除所有元素。

#删除元素,元素不存在则忽略该操作
s={1,2,3,4}
s.discard(5)
s
#删除指定元素,元素不存在就抛出异常
s.remove(5)
#随机删除集合中的元素,并返回删除的元素
s.pop()

在这里插入图片描述

4.集合运算

1.Python集合支持交集、并集、差集等运算

a_set=set([8,9,10,11,12,13])
b_set=set([0,1,2,3,4,7,8])
#并集
a_set | b_set
#并集
a_set.union(b_set)
#交集
a_set.intersection(b_set)
#交集
a_set & b_set
#差集
a_set.difference(b_set)
a_set - b_set
#对称差集
a_set.symmetric_difference(b_set)
a_set ^ b_set

在这里插入图片描述

2.集合比较判断是否为子集

x={1,2,3}
y={1,2,5}
z={1,2,3,4}
#比较集合大小
x < y
x < z
y < z
#测试是否为子集
x.issubset(y)
x.issubset(z)

在这里插入图片描述

注意:关系运算符>,>=,<,<=作用于集合时表示集合之间的包含关系,而不是集合中元素比较大小。

5.拓展知识一

使用传统的方法,提取出序列中所有不重复元素。

import random
#生成100个介于0~9999之间的随机数
listRandom=[random.choice(range(10000)) for i in range(100)]
noRepeat=[]
for i in listRandom:
    if i not in noRepeat:
        noRepeat.append(i)

len(listRandom)
len(noRepeat)

在这里插入图片描述

使用集合快速提取序列中的单一元素,只需要下面一行代码。

newSet=set(listRandom)
newSet

6.拓展知识二

Python也支持集合推导式

{x.strip() for x in ('  he   ','she  ','  I')}
import random
#生成随机数自动去除重复元素
x={random.randint(1,500) for i in range(100)}
#输出结果会小于等于100
len(x)

在这里插入图片描述


总结

以上就是本文要讲的内容,本文介绍了集合创建、增加、删除和集合运算。集合是无序可变序列,使用一对大括号作为界定符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

规则引擎,实现业务低代码开发的重要工具

规则引擎&#xff0c;是将业务执行抽象化的配置&#xff0c;通过其定义的数据结构、算法和流程来实现应用程序功能的普适化。 规则引擎可以帮助企业提高业务开发效率&#xff0c;提高运营的灵活性&#xff0c;降低运营成本与开发成本&#xff0c;让系统更加智能化灵活化。这里以…

【Rust】5. 所有权

5. 所有权 5.1 什么是所有权 5.1.1 栈&#xff08;Stack&#xff09;与堆&#xff08;Heap&#xff09; 5.1.2 所有权规则 5.1.3 变量作用域 5.1.4 String 类型 String 类型可进行修改&#xff0c;而字符串字面值是不可以的&#xff01;&#xff08;区别在于二者对内存的处理…

OAuth2

目录一、什么是OAuth2.0二、OAuth2中的角色三、认证流程四、生活中的Oauth2思维5. 令牌的特点6.OAuth2授权方式6.1 授权码6.2 隐藏方式6.3 密码方式6.4 凭证方式一、什么是OAuth2.0 OAuth2.0是目前使用非常广泛的授权机制&#xff0c;用于授权第三方应用获取用户的数据。 举例…

PythonWeb Django框架学习笔记

文章目录Django一、初步了解Django1.1 创建项目1.2 文件介绍1.3 APP的创建和说明添加新的app注册app创建页面1.4 templates模板templates语法单一变量列表循环【列表】字典循环【字典】列表套字典条件判断templates小结1.5 请求和响应案例&#xff1a;用户管理二、数据库操作2.…

前言技术之mybatis-plus 01

目录 1.什么是mybatis-plus 2.初体验 3.日志 4.主键生成策略 5.更新 6.自动填充 1.什么是mybatis-plus 升级版的mybatis&#xff0c;目的是让mybatis更易于使用&#xff0c; 用官方的话说“为简化而生” 官网&#xff1a; MyBatis-Plus 2.初体验 1.准备数据库脚本 数据…

再获殊荣!天云数据入选第一批北京市级企业技术中心,Hubble数据库提供新一代信息技术科技服务

为助力北京国际科技创新中心建设&#xff0c;贯彻落实北京市“十四五”时期高精尖产业发展规划&#xff0c;引导和支持企业加强创新能力&#xff0c;培育和引导企业技术中心建设&#xff0c;北京市经济和信息化局组织开展了2022年度第一批北京市市级企业技术中心的创建工作&…

【Python学习笔记】5. Python3 基本数据类型(上)——数值型、字符串型

前言 Python 中的变量不需要声明。每个变量在使用前都必须赋值&#xff0c;变量赋值以后该变量才会被创建。 Python3 基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值&#xff0c;变量赋值以后该变量才会被创建。 在 Python 中&#xff0c;变量就是变…

tomcat配置多个host,并且避免重复加载

目录 1.实验描述 2.实验环境 2.实验过程 2.1 创建order和user项目 2.2 打包项目 2.3 修改tomcat的server.xml的配置 2.4 启动tomcat 2.5 配置本地host 2.6 验证 1.实验描述 目前有两个域名&#xff0c;分别是&#xff1a; order.abc.com user.abc.com 两个项目&…

微信小程序学习第1天:微信小程序开发入门介绍

前言&#xff1a;微信小程序开发模式 1、申请小程序开发账号 2、安装小程序开发者工具 3、创建和配置小程序项目 一、申请小程序开发账号 1、体验小程序 2、注册小程序开发账号 使用浏览器打开https://mp.weixin.qq.com网址&#xff0c;按照提示注册 注册承购后&#xff0c…

微服务 初始 分布式搜索引擎 Elastic Search

文章目录⛄引言一、什么是Elastic Search&#xff1f;二、Elastic Search 倒排索引⛅正向索引⚡倒排索引⛄正向和倒排三、ES的一些概念⛅文档和字段⚡索引和映射四、MySQL 与 Elasticsearch⛵小结⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源…

OBB的计算python实现

OBB的计算python实现1. 实现步骤步骤① 分解点集的xyz分量步骤② 对x、y、z这三个随机变量&#xff08;一维数组&#xff09;求协方差矩阵步骤③ 对步骤②中的协方差矩阵求解特征值与特征向量&#xff0c;特征向量构造列向量矩阵M步骤④ 将点集的几何中心平移至坐标系原点&…

最全java面试题及答案(208道)

本文分为十九个模块&#xff0c;分别是&#xff1a;「Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM」 &#xff0c;如下图所…

Discord怎么抢白名单?Discord多账号防关联可以提高白名单成功率

Discord作为一个社交媒体&#xff0c;在加密货币领域扮演着重要的角色&#xff0c;它强大而便捷。更重要的是&#xff0c;如果你是一个投资者&#xff0c;Discord无疑是你了解项目动态&#xff0c;深入社区沟通交流的重要工具。 相信很多玩NFT和Web3的朋友都不会对discord 陌生…

分位数的理解与查询

目录 分位数的定义与理解&#xff1a; pyspark 中分位数查询 方式1 &#xff1a; 某列分位数查询&#xff1a; 采用dataframe的approxQuantile属性&#xff0c;返回一个list 例子&#xff1a; 方式2 &#xff1a; 转换为toPandas&#xff0c;利用pandas.dataframe利的…

全志T113-i+玄铁HiFi4开发板硬件说明书(2)

前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板,由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感谢关注。 T113-i处理器的IO电平标准一般为1.8V和3.3V,上拉电源一般不超过…

【C++入门】命名空间的定义与使用

目  录1 命名空间1.1 命名空间定义1.2 命名空间使用1 命名空间 在C/C中&#xff0c;变量、函数和类都是大量存在的&#xff0c;这些变量、函数、类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。 使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以…

经典动态规划OJ题目:接雨水or接青豆(多种方法,附详详细思维过程、解析及源码)

作者&#xff1a;非妃是公主 专栏&#xff1a;《算法》《刷题笔记》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 《算法》专栏系列文章 算法设计与分析复习01&#xff1a;主方法求递归算法时间复杂度 算法设计与分析…

MySQL批量插入4种方案(对比速度起飞)

一、前言二、准备工作1、Maven项目中pom.xml文件引入的相关依赖如下2、application.yml配置属性文件内容&#xff08;重点&#xff1a;开启批处理模式&#xff09;3、Entity实体类&#xff08;测试&#xff09;4、数据库student表结构&#xff08;注意&#xff1a;无索引&#…

4.2 避免缩进错误

4.1.3 在for循环结束后执行一些操作for循环结束后再怎么做呢?通常,你需要提供总结性输出或接着执行程序必须完成的其他任务。在for循环后面&#xff0c;没有缩进的代码都只执行一次&#xff0c;而不会重复执行。下面来打印一条向全体魔术师致谢的消息&#xff0c;感谢他们的精…

爬虫实例(一) —— 5行 Python 代码爬取

大家好&#xff0c;我是 Enovo飞鱼&#xff0c;今天分享一个爬虫小案例&#xff0c;小白或者爬虫入门的小伙伴推荐阅读&#xff0c;加油&#x1f4aa;。 目录 前言 基本环境配置 爬取目标网站 爬取内容 实现代码 后面我会继续更新爬虫实例&#xff0c;与大家共同学习&am…