news 2026/2/5 2:28:19

每日学习python(十)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
每日学习python(十)

今天我们来学习有关于集合的一系列操作。

一、查找不同元素

关键函数:

numpy.setdiff1d(ar1, ar2, assume_unique=False)

参数:

参数

描述

ar1

数组/列表。作为被减数的集合。

ar2

数组/列表。作为减数的集合。

assume_unique

(布尔值,默认False)。如果设置为True,则函数会假定输入数组已经是唯一的,可以跳过内部的去重步骤,从而提高速度。

简单例子:

# -*- coding: utf-8 -*- import numpy as np #查找在A但不在B中的元素 A = np.array([10,20,30,40,50]) B = np.array([30,40,60,70]) different_elements = np.setdiff1d(A,B) print(f"在A但不在B中的元素:{different_elements}") different_elements_1 = np.setdiff1d(B,A) print(f"在B但是不在A中的元素:{different_elements_1}")

结果:

二、查找公共元素

关键函数:

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)

参数:

参数

描述

ar1,ar2

数组/列表。要计算交集的两个输入集合。

assume_unique

(布尔值,默认False)。如果为True,则跳过去重以提高性能。

return_indices

(布尔值,默认False)。如果为True,还会返回三个额外的数组:交集元素在ar1中的索引、交集元素在ar2中的索引,以及交集结果数组。

简单例子:

x = np.array([1,2,3,4,5,1]) y = np.array([2,3,6,5,1]) commen_elements = np.intersect1d(x,y) print(f"x与y公共的元素是:{commen_elements}") inter, ar1_inds, ar2_inds = np.intersect1d(x, y, return_indices=True) print(f"交集元素: {inter}") print(f"在 x 中的原始索引: {ar1_inds}") print(f"在 y 中的原始索引: {ar2_inds}")

结果:

三、合并数组元素

关键函数:

numpy.union1d(ar1, ar2)

参数:

参数描述
ar1,ar2数组/列表。要计算并集的两个输入集合。

简单例子:

arr1 = np.array([10,20,30]) arr2 = np.array([20,30,40,60,80]) union_elements = np.union1d(arr1,arr2) print(f"arr1和arr2的并集:{union_elements}")

结果:

四、从两个数组中提取唯一元素

关键函数:

numpy.setxor1d(ar1, ar2, assume_unique=False)

参数:

参数描述
ar1,ar2数组/列表。要计算对称差集的两个输入集合。
assume_unique(布尔值,默认False)。如果为True,则跳过去重以提高性能。

简单例子:

a = np.array([10,20,30,40]) b = np.array([30,40,50,60]) xor_elements = np.setxor1d(a,b) print(f"a和b的差集:{xor_elements}")

结果:

总结代码:

# -*- coding: utf-8 -*- import numpy as np #查找在A但不在B中的元素 A = np.array([10,20,30,40,50]) B = np.array([30,40,60,70]) different_elements = np.setdiff1d(A,B) print(f"在A但不在B中的元素:{different_elements}") different_elements_1 = np.setdiff1d(B,A) print(f"在B但是不在A中的元素:{different_elements_1}") x = np.array([1,2,3,4,5,1]) y = np.array([2,3,6,5,1]) commen_elements = np.intersect1d(x,y) print(f"x与y公共的元素是:{commen_elements}") inter, ar1_inds, ar2_inds = np.intersect1d(x, y, return_indices=True) print(f"交集元素: {inter}") print(f"在 x 中的原始索引: {ar1_inds}") print(f"在 y 中的原始索引: {ar2_inds}") arr1 = np.array([10,20,30]) arr2 = np.array([20,30,40,60,80]) union_elements = np.union1d(arr1,arr2) print(f"arr1和arr2的并集:{union_elements}") a = np.array([10,20,30,40]) b = np.array([30,40,50,60]) xor_elements = np.setxor1d(a,b) print(f"a和b的差集:{xor_elements}")
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/31 17:25:22

比话降AI的效果为什么这么好?去除ai痕迹的原理是什么?

一、比话降AI是什么? 比话降AI是基于10亿文本数据打造的论文AIGC痕迹优化工具,它通过学习人类写作的方式技巧,深度理解论文的语义与上下文,对内容进行智能重构,降低内容的AI率。 正如其名,比话降AI通过对比人类写作…

作者头像 李华
网站建设 2026/1/31 14:27:06

紧急推荐!视频内容检索效率提升10倍的Dify实现方案

第一章:视频内容检索效率革命的背景与意义随着视频数据在全球范围内的爆炸式增长,传统基于元数据或关键词的检索方式已难以满足用户对精准、高效内容定位的需求。监控录像、直播流、短视频平台每天产生数以PB计的数据,仅靠人工标注或简单索引…

作者头像 李华
网站建设 2026/1/31 6:53:20

为什么90%的AI项目都缺乏版本控制?,Docker解决方案来了

第一章:AI项目版本控制的现状与挑战在传统软件开发中,版本控制系统(如 Git)已成为标准实践。然而,在AI项目中,代码仅是其中一环,模型、数据集、超参数和训练环境等同样关键,这使得版…

作者头像 李华
网站建设 2026/1/31 12:50:40

Day 35 文件的规范拆分和写法

浙大疏锦行 Python 项目的文件规范拆分核心目标是:高内聚、低耦合(一个文件 / 模块只做一类事)、可读性强(命名和结构直观)、易维护扩展(逻辑分层清晰)。 一、文件拆分的核心原则 1. 单一职责…

作者头像 李华
网站建设 2026/2/3 6:54:42

VBA-JSON终极指南:快速掌握Excel和Access中的JSON数据处理

VBA-JSON终极指南:快速掌握Excel和Access中的JSON数据处理 【免费下载链接】VBA-JSON 项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON VBA-JSON是一款专为Office应用程序设计的JSON解析工具,能够在Excel、Access等VBA环境中实现JSON数据…

作者头像 李华