Python 的内置函数 set

作者:IMPYLH日期:2025/11/17

Python 内建函数列表 > Python 的内置函数 set

Python 的内置函数 set() 是一个非常有用的数据结构,用于创建无序且不包含重复元素的集合。它提供了高效的成员检测和元素去重功能,是处理集合运算的理想选择。

基本用法

  1. 创建集合
1# 使用花括号  
2fruits = {'apple', 'banana', 'orange'}  
3# 使用set()函数  
4numbers = set([1, 2, 3, 2, 1])  # 结果为{1, 2, 3}  
  1. 空集合创建
1empty_set = set()  # 注意:不能使用{},这会创建字典  

主要特性

  • 无序性:集合中的元素没有固定顺序
  • 唯一性:自动去除重复元素
  • 可变性:可以添加/删除元素
  • 可迭代性:可以使用for循环遍历

常用操作

  1. 添加元素
1s = {1, 2}  
2s.add(3)  # {1, 2, 3}  
3s.update([4, 5])  # {1, 2, 3, 4, 5}  
  1. 删除元素
1s.remove(2)  # 如果元素不存在会报错  
2s.discard(2)  # 元素不存在不会报错  
3s.pop()  # 随机删除并返回一个元素  
  1. 集合运算
1a = {1, 2, 3}  
2b = {2, 3, 4}  
3# 并集  
4a.union(b)  # {1, 2, 3, 4}  
5# 交集  
6a.intersection(b)  # {2, 3}  
7# 差集  
8a.difference(b)  # {1}  
9# 对称差集  
10a.symmetric_difference(b)  # {1, 4}  

应用场景

  1. 数据去重
1lst = [1, 2, 2, 3, 3, 3]  
2unique = set(lst)  # {1, 2, 3}  
  1. 快速成员检测
1if user_input in valid_options:  
2    # 比列表检测更高效  
  1. 关系运算
1# 检查两个用户的好友列表是否有交集  
2common_friends = user1_friends & user2_friends  

注意事项

  • 集合只能包含可哈希(不可变)对象
  • 不能通过索引访问元素
  • 冻结集合(frozenset)是集合的不可变版本
  • 集合在Python 3.7+中会保留插入顺序,但不应该依赖这个特性

集合是Python中处理唯一值集合的高效工具,合理使用可以显著提升代码性能和简洁性。Python 的内置函数 set


Python 的内置函数 set》 是转载文章,点击查看原文


相关推荐


Python 的内置函数 ord
IMPYLH2025/11/16

Python 内建函数列表 > Python 的内置函数 ord Python 的内置函数 ord() 是一个非常有用的字符串处理函数,它主要用于获取单个字符的 Unicode 码点值。具体来说,ord() 函数接受一个长度为 1 的字符串(即单个字符)作为参数,并返回该字符对应的 Unicode 码点的整数数值。 语法格式: ord(c) 其中 c 是一个表示单个字符的字符串。 主要特点: 只能处理单个字符,如果传入字符串长度超过1会抛出 TypeError对 ASCII 字符返


Redis(125)Redis在社交网络中的应用有哪些?
Victor3562025/11/15

在社交网络中,Redis 被广泛应用于以下场景: 用户会话管理 好友关系存储 消息队列 活动流 点赞和评论统计 排行榜 下面详细介绍这些应用场景,并结合 Java 代码示例进行讲解。 1. 用户会话管理 Redis 可以用于管理用户会话,通过 Redis 的高效性和持久化机制,能够快速读取和写入会话数据。 示例代码 import redis.clients.jedis.Jedis; public class SessionManagementExample { public sta


OkHttp网络框架设计
杨充2025/11/13

OkHttp网络框架设计 目录介绍 01.整体概述介绍 1.1 概述介绍 1.2 核心特性说明 1.3 技术架构概览 1.4 问题思考 02.核心架构设计 2.1 整体架构设计 2.2 整体设计思路 2.3 核心组件关系图 03.核心组件详解 3.1 OkHttpClient 3.2 Request请求封装 3.3 Call请求执行接口 3.4 Dispatcher调度器 3.5 拦截器机制 3.6 Response返回 04.核心流程分析 4.1 请求执行流程 4.2 连


PyTorch:AI深度学习开源框架
深圳蔓延科技2025/11/12

如果把构建一个AI模型比作搭建一个复杂的乐高城堡,那么 PyTorch 就是一个为你提供了各种基础积木,并且让你能非常自由、顺手地去拼接它们的工具箱。 它不像一些已经搭好的成品玩具(比如一些封装好的软件),你只能看不能改。PyTorch 的魅力在于它的 “动态” 和 “直观”。 1. 核心概念一:张量 - 其实就是“数据容器” 你可能听过一个词叫 “张量”(Tensor)。听起来很高深,但其实它就是 PyTorch 里最基本的数据容器。 你可以这样理解: 标量(一个数):就是一个零维张量。比如


Kotlin泛型位置规律与设计考量
风冷2025/11/10

Kotlin泛型位置规律与设计考量 1. 泛型出现的位置分类 在Kotlin中,泛型可以出现在以下几个主要位置: 1.1 类声明中的泛型 class ViewRef<T : DeclarativeBaseView<*, *>>( val pagerId: String, val nativeRef: Int ) { val view: T? get() = PagerManager.getPager(pagerId) .getVie


深入解析 processDefineExpose:Vue SFC 编译阶段的辅助函数
excel2025/11/8

在 Vue 单文件组件(SFC)的编译过程中,<script setup> 模块中的编译转换是一项重要工作。本文将深入剖析其中一个小但关键的函数——processDefineExpose,它用于检测并处理 defineExpose() 调用。 一、背景与概念 在 Vue 3 的 <script setup> 中,开发者可以通过: defineExpose({ foo: 1 }) 来显式暴露组件的部分内部变量,使得父组件在通过 ref 获取子组件实例时,可以访问这些变量。 编译器在解析脚本时,


LabVIEW工业零件尺寸测量
LabVIEW开发2025/11/6

在汽车零部件生产流水线中,轴类零件的台阶位移尺寸直接影响装配精度与产品寿命。传统人工测量依赖千分表,存在效率低、误差大、数据无法实时追溯等问题,难以满足现代化批量生产的质量管控需求。基于 LabVIEW 开发的位移检测系统,可结合高精度传感器实现自动化、高精度测量,解决传统测量痛点,提升生产过程的质量控制水平。 系统设计 系统以 LabVIEW为软件开发平台,硬件核心包括激光位移传感器、NI cDAQ 数据采集卡、工业计算机、电动平移台及报警模块。整体架构分为硬件层、数据采集层、软件


Iterable<Result<Item>>讲一下
Violet_YSWY2025/11/1

好的,Iterable<Result<Item>> 是 MinIO Java SDK 中用于处理列表结果的典型模式,我来详细解释: 1. 三层结构分解 Iterable<Result<Item>> results = minioClient.listObjects(...); 拆解理解: Iterable<> - 可遍历的容器Result<Item> - 包含实际结果的对象Item - 真正的对象信息 2. 逐层理解 第一层:Iterable - 可迭代对象 // 就像是一个装了很多东西的盒子


2025年,我为什么建议你先学React再学Vue?
良山有风来2025/10/30

你是不是刚准备入门前端开发,面对React和Vue两个热门框架却不知道如何选择? 看着招聘网站上React和Vue的职位要求,担心选错方向影响未来发展? 别担心,这篇文章就是为你准备的。我会用最直白的语言,带你快速体验两大框架的魅力,并告诉你为什么在2025年的今天,我强烈建议从React开始学起。 读完本文,你将获得两大框架的完整入门指南,还有可以直接复用的代码示例,帮你节省大量摸索时间。 先来看看React:简洁就是美 React的核心思想非常直接——用JavaScript构建用户界面。它不


C#.NET NCrontab 深入解析:轻量级 Cron 表达式解析器
唐青枫2025/10/27

简介 NCrontab 是 .NET 平台下功能完备的 Cron 表达式解析与调度计算库,用于处理类似 Unix Cron 的时间调度逻辑。它不依赖外部系统服务,纯托管实现,是构建定时任务系统的核心组件。 解决的关键问题 Cron 表达式解析:将字符串表达式转换为可计算的时间模型 时间序列生成:计算下次执行时间或生成时间序列 跨平台支持:纯 .NET 实现,无操作系统依赖 轻量高效:无外部依赖,内存占用低(<100KB) 相比于自己手写解析器或引入重量级调度框架(如 Quar

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0