news 2026/6/10 14:52:08

每日学习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/6/10 10:36:37

【Dify 1.7.0多模态RAG音频处理】:揭秘新一代AI语音理解核心技术

第一章:Dify 1.7.0多模态RAG音频处理的核心突破Dify 1.7.0 版本在多模态检索增强生成(RAG)领域实现了关键性进展,尤其在音频数据的处理能力上展现出显著提升。系统首次支持端到端的音频内容理解与语义检索,使得语音文件…

作者头像 李华
网站建设 2026/6/10 2:01:52

腾讯混元开源四梯度轻量模型:开启端侧AI普惠新时代

腾讯混元开源四梯度轻量模型:开启端侧AI普惠新时代 【免费下载链接】Hunyuan-1.8B-Instruct-GPTQ-Int4 腾讯开源混元大语言模型系列中的高效对话模型,专为多样化部署环境设计。支持混合推理模式与256K超长上下文,在数学、编程、逻辑推理等任务…

作者头像 李华
网站建设 2026/6/10 10:34:28

Wan2.2-T2V-A14B支持绿幕抠像输出吗?后期合成兼容性探讨

Wan2.2-T2V-A14B支持绿幕抠像输出吗?后期合成兼容性探讨 在影视制作与广告创意日益依赖AI生成内容的今天,一个关键问题浮出水面:我们能否直接将AI生成的视频无缝接入专业视觉特效流程?尤其是像阿里巴巴推出的Wan2.2-T2V-A14B这样的…

作者头像 李华
网站建设 2026/6/10 11:54:53

【收藏必看】程序员转行大模型的6个高薪方向及必备技能详解

文章详解程序员转行大模型领域的6个方向:自然语言处理、计算机视觉、算法、部署和产品经理岗位。每个方向均提供推荐理由和技能要求,包括编程能力、数学基础和专业知识。程序员应结合自身优势,针对性学习技能,才能在大模型领域实现…

作者头像 李华
网站建设 2026/6/10 11:06:47

Agentic AI技术革命:提示工程架构师的实战指南

Agentic AI技术革命:提示工程架构师的实战指南 关键词:Agentic AI、提示工程、智能体架构、ReAct框架、工具调用、思维链(CoT)、多轮规划 摘要:当大模型从“回答机器”进化为“行动机器”,Agentic AI(智能体AI)成为AI技术革命的下一个拐点。本文用小助手比喻拆解Agenti…

作者头像 李华