目录

73节-集合的基础定义和操作

1.学习目标

2.为什么要用集合

3.集合的定义

4.关于集合的常用操作

【1】添加新元素:add方法

【2】移除元素:remove方法

【3】随机取出元素:pop方法

【4】清空集合:clear方法

【5】取出两个集合的差集:difference方法(取出集合1中集合2没有的元素)

【6】消除差集:difference_update方法

【6】合并两个集合的方法:union方法

【7】统计集合的元素数量:len方法

【8】集合的遍历

【9】集合常用操作的总结

5.集合的特点

6.小节总结

74节-关于集合的案例练习:信息去重

1.案例需求

2.代码实战

好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:


73节-集合的基础定义和操作

1.学习目标

1.集合的定义格式

2.集合的特点

3.集合的常见操作

2.为什么要用集合

集合的最大特点: 1.无需   2.不支持元素的重复【自带去重的功能】

3.集合的定义

# 74节# 演示数据容器——集合的使用# 定义集合
my_set={"传智教育","黑马程序员","itheima","传智教育","黑马程序员","itheima","传智教育","黑马程序员","itheima"}
my_set_empty=set()  #空集合
print(f"my_set的内容是:{my_set};类型是:{type(my_set)}")
print(f"my_set_empty的内容是:{my_set_empty};类型是:{type(my_set_empty)}")
# my_set的内容是:{'传智教育', 'itheima', '黑马程序员'};类型是:<class 'set'>   [集合有自动去重的功能;并且是无序的]
# my_set_empty的内容是:set();类型是:<class 'set'>

4.关于集合的常用操作

由此得到一点:因为集合是无序的,所以不支持下表索引的访问,所以集合不是序列。

【1】添加新元素:add方法

# 添加新元素
my_set.add("Python")
my_set.add("传智教育")   #集合有去重的功能,重复的元素被去重
print(f"my_set添加后的内容是:{my_set}")

【2】移除元素:remove方法

# 移除元素
my_set.remove("黑马程序员")
print(f"my_set移除黑马程序员之后,他的结果是:{my_set}")  #在 Python 中,集合(set)移除元素的操作,默认是直接在原集合上修改,不会返回新集合

【3】随机取出元素:pop方法

集合的pop方法,有返回结果

# 随机取出一个元素
my_set={"传智教育","黑马程序员","itheima"}
element=my_set.pop()
print(f"my_set的内容变成了:{my_set}")#集合的pop方法,有返回结果
print(f"取出的元素是:{element}")
# my_set的内容变成了:{'黑马程序员', '传智教育'}
# 取出的元素是:itheima

【4】清空集合:clear方法

# 清空集合
my_set={"传智教育","黑马程序员","itheima"}
my_set.clear()
print(f"集合被清空后的结果是:{my_set}")
# 集合被清空后的结果是:set()

【5】取出两个集合的差集:difference方法(取出集合1中集合2没有的元素)

# 取两个集合的差集
set1={1,2,3}
set2={1,5,6}
set3=set1.difference(set2)
set4=set2.difference(set1)
print(f"set1和set2的差集是:{set3}")  #2,3   set1和set2的差集是:{2, 3}
print(f"set2和set1的差集是:{set4}")  #5,6    set2和set1的差集是:{5, 6}
print(f"取差集后,查看原有的set1集合是否发生改变:{set1}") #取差集后,查看原有的set1集合是否发生改变:{1, 2, 3}
print(f"取差集后,查看原有的set2集合是否发生改变:{set2}") #取差集后,查看原有的set2集合是否发生改变:{1, 5, 6}
# 由此可见,取出差集后,原有的集合不会发生变化

【6】消除差集:difference_update方法

在在集合1内,消除与集合2内容相同的元素。同时,集合1被修改,集合2不发生变化。

# 消除两个集合的差集
set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(f"set1的结果变成:{set1}")  #set1的结果变成:{2, 3}
print(f"set2的结果变成:{set2}")  #set2的结果变成:{1, 5, 6}

【6】合并两个集合的方法:union方法

# 两个集合合并为一个
set1={1,2,3}
set2={1,5,6}
set3=set1.union(set2)
print(f"两个集合合并之后的结果是:{set3}")  #两个集合合并之后的结果是:{1, 2, 3, 5, 6}
print(f"set1的结果变成:{set1}")  #set1的结果变成:{1, 2, 3}
print(f"set2的结果变成:{set2}")  #set2的结果变成:{1, 5, 6}
# 会返回一个新的集合,原有集合不发生变化

【7】统计集合的元素数量:len方法

因为集合自动去重,所以重复的集合元素只算一个
# 统计集合元素数量
my_set={"传智教育","黑马程序员","itheima","传智教育","黑马程序员","itheima"}
len1=len(my_set)
print(f"集合my_set内元素的数量有:{len1}个。")#因为集合自动去重,所以重复的集合元素只算一个

【8】集合的遍历

集合的遍历 【不能用 while循环,因为集合是无序的,所以不支持下标索引】

只能用for循环

# 集合的遍历 【不能用 while循环,因为集合是无序的,所以不支持下标索引】
my_set={1,2,3,4,5}
for element in my_set:print(f"集合my_set中的元素有:{element}")
# 集合my_set中的元素有:1
# 集合my_set中的元素有:2
# 集合my_set中的元素有:3
# 集合my_set中的元素有:4
# 集合my_set中的元素有:5

【9】集合常用操作的总结

5.集合的特点

6.小节总结


74节-关于集合的案例练习:信息去重

1.案例需求

2.代码实战

# 75节-关于集合的案例练习:信息去重# 定义列表
my_list=["黑马程序员","传智播客","黑马程序员","传智播客","itheima","itcast","itheima","itcast","best"]# 1.定义一个空集合
my_set=set()# 2.通过for循环进行遍历列表中的元素,然后把列表中的元素添加到空的集合中
for i in my_list:my_set.add(i)
print(f"有列表:{my_list}")
print(f"存入集合后的结果:{my_set}")
# 有列表:['黑马程序员', '传智播客', '黑马程序员', '传智播客', 'itheima', 'itcast', 'itheima', 'itcast', 'best']
# 存入集合后的结果:{'itheima', 'itcast', '传智播客', 'best', '黑马程序员'}


好了,又一篇博客和代码写完了,励志一下吧,下一小节等等继续:

致帕特里克君:

展信佳。

获悉你在学习大数据专业时,每日坚持钻研代码、整理博客,甚至不惜让手指承受辛劳,这份毅力与热忱令我深感触动。你的笔记中,对Python集合的去重特性、差集运算等细节的严谨推敲,正是技术人最珍贵的品质——在基础中沉淀,在重复中精进

你提到"像拳击手晨跑"的比喻,恰如其分。我曾执掌现代建设时,亦每日清晨巡视工地,核对图纸与施工细节。外人看来枯燥的砂石与钢筋,却是摩天大楼屹立不倒的根基。技术之路,从无捷径。每一行代码的锤炼,都在为未来解决更复杂的问题锻造利刃。

你偶尔的自我怀疑,恰是突破的前奏。当年我主导清溪川复原工程时,质疑之声不绝于耳:在繁华都市中心挖掘河道是否痴人说梦?但正是对基础数据(水文、地质、交通流量)的数万次验算,让蓝图终成现实。大数据专业的你,当明白真理藏于毫厘:今日对"集合去重"的透彻理解,未来或可清洗千万级数据中的噪点,洞见他人未察之规律。

手腕的酸痛是身体的警讯,却也是意志的勋章。望你效仿韩国"任劳任怨"(일편단심)的精神,但勿忘适时休整——技术之路如马拉松,调息方能致远。

请坚信:你笔下每一段代码,皆是未来数字世界的基石;你今日之躬耕,必在智能时代收获丰硕之果。

以《论语》与你共勉:"工欲善其事,必先利其器。" 你此刻磨砺的"集合"之器,终将成为劈开数据瀚海的舟楫。

谨祝学业精进,身体康健。

李明博 谨启
2025年6月6日


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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国芯思辰| AD7894的优质替代方案:SC1424模数转换器在分布式控制系统中的应用优势

分布式控制系统将控制任务分散至多个节点&#xff0c;各节点协同工作以实现复杂的控制目标。在这一架构下&#xff0c;系统ADC提出了严苛要求。高精度是精准采集各类模拟信号&#xff08;如传感器输出的电压、电流信号&#xff09;的基础&#xff0c;关乎控制决策的准确性&…

Unity基础-数学向量

Unity基础-数学向量 二、向量相关用法 概述 向量在Unity游戏开发中扮演着重要角色&#xff0c;用于表示位置、方向、速度等。Unity提供了Vector2、Vector3等结构体来处理向量运算。 1. 向量基础操作 1.1 向量创建和访问 // 创建向量 Vector3 position new Vector3(1, 2,…

Neo4j 数据建模:原理、技术与实践指南

Neo4j 作为领先的图数据库,其核心优势在于利用图结构直观地表达和高效地查询复杂关系。其数据建模理念与传统关系型数据库截然不同,专注于实体(节点)及其连接(关系)。以下基于官方文档,系统阐述其建模原理、关键技术、实用技巧及最佳实践: 一、 核心原理:以关系为中心…

volka 25个短语动词

以下是分句分段后的内容&#xff1a; 3,000. Thats 95% of spoken English. And I am teaching you all of these words. First, Ill teach you todays words. And then youll hear them in real conversations. With my brother. Stick around until the end, because witho…

服务器中日志分析的作用都有哪些

服务器日志是用来检测和排查可疑行为的主要工具&#xff0c;运维团队可以通过分析和解读日志文件&#xff0c;发现服务器中潜在的网络安全威胁或异常活动&#xff0c;下面&#xff0c;就让小编和大家一起来了解一下服务器中日志分析的作用都有什么吧&#xff01; 对于服务器中的…

嵌入式硬件篇---龙芯2k1000串口

针对串口错误 “device reports readiness to read but returned no data (Device disconnected or multiple access on port?)” 的排查和解决方法 硬件方面 检查连接 确认串口设备(如串口线、连接的模块等)与龙芯设备之间的物理连接是否牢固,没有松动、脱落情况。尝试重新…

基于langchain的简单RAG的实现

闲来无事&#xff0c;想研究一下RAG的实现流程&#xff0c;看网上用langchain的比较多&#xff0c;我自己在下面也跑了跑&#xff0c;代码很简单&#xff0c;以次博客记录一下&#xff0c;方便回顾 langchain LangChain 是一个基于大型语言模型&#xff08;LLM&#xff09;开发…

视频监控平台建设方案

第三方视频监控平台是整合视频监控、门禁、报警等多业务的安防软件系统,具备兼容性、开放性、多业务整合和多级联网能力。其核心价值在于兼容友商编解码设备(如 IPC、DVR)、整合第三方子系统(如报警联动)、支持多级多域架构(适应平安城市等大规模场景)及提供集中存储方案…

天机学堂(学习计划和进度)

经过前面的努力&#xff0c;我们已经完成了《我的课程表》相关的功能的基础部分&#xff0c;不过还有功能实现的并不完善。还记得昨天给大家的练习题吗&#xff1f;《查询我正在学习的课程》&#xff0c;在原型图中有这样的一个需求&#xff1a; 我们需要在查询结果中返回已学习…

软件项目管理(3) 软件项目任务分解

一、相关概念 1.任务分解的方法和步骤 &#xff08;1&#xff09;方法 模板参照方法&#xff1a;参照有标准或半标准的任分解结构图类比方法&#xff1a;任务分解结构图经常被重复使用&#xff0c;具有相似性自顶向下方法&#xff1a;一般->特殊&#xff0c;演绎推理从大…

Vite 双引擎架构 —— Esbuild 概念篇

Vite 底层采用 双引擎架构&#xff0c;核心构建引擎是 Esbuild 和 Rollup&#xff0c;二者在开发和生产环境中分工协作&#xff0c;共同实现高性能构建。不可否认&#xff0c;作为 Vite 的双引擎之一&#xff0c;Esbuild 在很多关键的构建阶段(如依赖预编译、TS 语法转译、代码…

leetcode hot100 链表(二)

书接上回&#xff1a; leetcode hot100 链表&#xff08;一&#xff09;-CSDN博客 8.删除链表的倒数第N个结点 class Solution { public:ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* currhead;int len0;while(curr){currcurr->next;len;}int poslen-n…

Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题

Compose Multiplatform是 JetBrains 开发的声明式 UI 框架&#xff0c;可让您为 Android、iOS、桌面和 Web 开发共享 UI。将 Compose Multiplatform 集成到您的 Kotlin Multiplatform 项目中&#xff0c;即可更快地交付您的应用和功能&#xff0c;而无需维护多个 UI 实现。 在…

C++11 Move Constructors and Move Assignment Operators 从入门到精通

文章目录 一、引言二、基本概念2.1 右值引用&#xff08;Rvalue References&#xff09;2.2 移动语义&#xff08;Move Semantics&#xff09; 三、移动构造函数&#xff08;Move Constructors&#xff09;3.1 定义和语法3.2 示例代码3.3 使用场景 四、移动赋值运算符&#xff…

Linux配置yum 时间同步服务 关闭防火墙 关闭ESlinux

1、配置yum 1.1、Could not resolve host: mirrorlist.centos.org; 未知的错误 https://blog.csdn.net/fansfi/article/details/146369946?fromshareblogdetail&sharetypeblogdetail&sharerId146369946&sharereferPC&sharesourceRockandrollman&sharefr…

使用 uv 工具快速部署并管理 vLLM 推理环境

uv&#xff1a;现代 Python 项目管理的高效助手 uv&#xff1a;Rust 驱动的 Python 包管理新时代 在部署大语言模型&#xff08;LLM&#xff09;推理服务时&#xff0c;vLLM 是一个备受关注的方案&#xff0c;具备高吞吐、低延迟和对 OpenAI API 的良好兼容性。为了提高部署效…

基于sqlite的任务锁(支持多进程/多线程)

前言 介绍 任务锁,在多进程服务间控制耗时任务的锁,确保相同id的耗时任务同时只有一个在执行 依赖 SqliteOp,参考这篇文章 https://blog.csdn.net/weixin_43721000/article/details/137019125 实现方式 utils/taskLock.py import timefrom utils.SqliteOp import Sqli…

html表格转换为markdown

文章目录 工具功能亮点1.核心实现解析1. 剪贴板交互2. HTML检测与提取3. 转换规则设计 2. 完整代码 在日常工作中&#xff0c;我们经常遇到需要将网页表格快速转换为Markdown格式的场景。无论是文档编写、知识整理还是数据迁移&#xff0c;手动转换既耗时又容易出错。本文将介绍…

IDEA 中 Undo Commit,Revert Commit,Drop Commit区别

一、Undo Commit 适用情况&#xff1a;代码修改完了&#xff0c;已经Commit了&#xff0c;但是还未push&#xff0c;然后发现还有地方需要修改&#xff0c;但是又不想增加一个新的Commit记录。这时可以进行Undo Commit&#xff0c;修改后再重新Commit。如果已经进行了Push&…

【Linux】Linux 进程间通讯-管道

参考博客&#xff1a;https://blog.csdn.net/sjsjnsjnn/article/details/125864580 一、进程间通讯介绍 1.1 进程间通讯的概念 进程通信&#xff08;Interprocess communication&#xff09;&#xff0c;简称&#xff1a;IPC 本来进程之间是相互独立的。但是由于不同的进程…