Python中Array的常用操作(三)数组高级操作

2023-05-16

1. 抽取数组中不重复的数据

>>> a = [ x*2 for x in range(1,5) ]*2

>>> uniq = list(set(a))

[8, 2, 4, 6]

>>> uniq = sorted(set(a))

[2, 4, 6, 8]

>>> b={}

>>> for x in a:

… b[x]=1

>>> uniq = b.keys()

 

2. 去除在另一个数组中元素

>>> a = [ x*2 for x in range(1,5) ]

>>> b = [ x for x in a if x >3 ]

 

>>> aonly = [x for x in a if x not in b]

 

>>> a_set = set(a)

>>> b_set = set(b)

>>> aonly = list(a_set - b_set)

3. 数组排序

>>> def comp(x,y):

… if x>y:

… return -1

… elif x==y:

… return 0

… else :

… return 1

>>> unsorted_list = [82, 67, 10, 46, 81, 40, 71, 88, 55]

>>> unsorted_list.sort(comp)

[88, 82, 81, 71, 67, 55, 46, 40, 10]

 

4. 两个数组交、并操作

 

>>> a = [ x*2 for x in range(1,5) ]

[2, 4, 6, 8]

>>> b = [ x for x in range(3,7) ]

[3, 4, 5, 6]

>>> a_set = set(a)

>>> b_set = set(b)

# Union

>>> print list (a_set | b_set )

[2, 3, 4, 5, 6, 8]

#Intersection

>>> print list(a_set & b_set)

[4, 6]

#Difference

>>> print list(a_set ^ b_set)

[8, 2, 3, 5]

5. 数组函数map()、filter()、reduce()

a) map()

map(function,sequence)为每一个sequence的元素调用function(item) 并把返回值组成一个数组。

>>>

>>> def fun(x): return x*x

>>> print map(fun,range(0,5))

[0, 1, 4, 9, 16]

使用map(None,list1,list2)可以快速把两个数组变成元素对的一个数组

>>> print map(None,range(0,5),range(100,105))

[(0, 100), (1, 101), (2, 102), (3, 103), (4, 104)]

b) filter()

filter(function,sequence)返回一个序列,包含了所有调用function(item)后返回值为true的元素。

>>> unsorted_list = [82, 67, 10, 46, 81, 40, 71, 88, 55]

>>> def fun(x): return x%2==0

>>> print filter(fun,unsorted_list)

[88, 82, 46, 40, 10]

c) reduce()

reduce(function,sequence)返回一个单值,首先以数组的前两个元素调用函数function,在以返回值和第三个元素为参数调用,依次执行下去。

例如,以下程序计算1到10的整数的和

>>> def add(x,y): return x+y

>>> print reduce(add,range(0,11))

55

 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中Array的常用操作(三)数组高级操作 的相关文章

  • 安装双系统出现的一些问题(显卡和无法连接WIFI)

    显卡 问题1 xff1a 安装双系统之后开机黑屏 xff0c 由于显卡引起 xff0c 显卡不支持 解决办法 xff1a 禁用独立显卡或者更改显卡设置 xff0c 进入文件 boot grub grub cfg xff0c 按下图加入标亮字
  • ros没装全,gazebo模型加载不出来

    ros没装全 xff0c gazebo模型加载不出来 安装ros 关于rosdep update 首先换热点试一下 xff0c 在来回切换wifi 按照https blog csdn net yufeng1108 article detai
  • catkin_make遇到 gazebo_ros_controlConfig.cmake相关的问题

    现象 xff1a Could not find a package configuration file provided by gazebo ros control with any of the following names 解决方法
  • 一些vscode自动提示报错

    Pointer to incomplete class type is not allowed 通常是由于类声明了但是没有定义造成的 xff0c 需要做的是在错误文件里面引用下这个类 xff1a class Test xff1b a poi
  • bazel一些用法

    1 编译东西 要在根目录下 xff0c 和WORKSPACE在同一级 例如 xff0c 对于bazelbuild examples 而BUILD文件一般与源文件并列 examples cpp tutorial stage1 main BUI
  • 第十一节std::atomic原子操作

    一 原子操作 1 1原子操作概念例子 互斥量 xff1a 多线程编程中保护共享数据 xff1a 锁 xff0c 操作共享数据 xff0c 开锁 有两个线程 xff0c 对一个变量进行操作 xff0c 这个线程读 xff0c 另一个线程往变量
  • 用Ceres实现PnP

    在ceres中实现PnP优化 xff08 仅优化位姿 xff09 视觉SLAM十四讲 课后习题 ch7 xff08 更新中 xff09
  • deque insert()函数几种用法

    C 43 43 deque insert 用法及代码示例
  • Matplotlib error: No such file or directory: ‘latex‘: ‘latex‘

    Matplotlib error No such file or directory latex latex span class token function sudo span apt span class token function
  • 在ROS下Intel RealSense D435i 驱动的安装,避免踩坑,避免缺少imu话题等各种问题(适用于D400系列、SR300和T265跟踪模块等)

    版权声明 本文为博主原创文章 未经博主允许不得转载 https blog csdn net AnChenliang 1002 article details 109454465 目录 背景 方法1 使用apt安装 不建议使用此方法 了解一下
  • wsl作为开发主机与开发板联调

    linux开发经历记录 wsl作为开发主机与开发板联调 uboot使用nfs网络挂载时使用hanewin搭建win10的nfs servers 背景介绍 小白学习linux开学 xff0c 不想用VM虚拟机作为开发平台 xff0c 恰好了解
  • weka中文乱码解决办法

    由于weka的默认字符集编码是Cp1252 xff0c 所以如果你导入的数据中有中文字符 xff0c 就会出现乱码的情况 xff0c 所以需要weka的RunWeka ini文件 将cp1252替换成你的数据对应的字符集编码 xff0c 比
  • 动态库和静态库的区别

    静态库 xff1a 这类库的名字一般是libxxx a xff1b 1 利用静态函数库编译成的文件比较大 xff0c 因为整个函数库的所有数据都会被整合进目标代码中 xff0c 他的优点就显而易见了 xff0c 2 即编译后的执行程序不需要
  • 重复数据删除技术(Data Deduplication)

    我相信所有人都会同意 xff0c 数据存储正在以飞快地 xff0c 甚至是令人震惊的速度在增长 这意味着为了不影响普通用户的正常使用 xff0c 存储管理员们不得不加班加点地在幕后 工作着 他们的鲜为人知的工作包括 xff1a 配额管理 x
  • TCP/IP协议

    TCP IP 协议栈是一系列网络协议的总和 xff0c 是构成网络通信的核心骨架 xff0c 它定义了电子设备如何连入因特网 xff0c 以及数据如何在它们之间进行传输 TCP IP 协议采用4层结构 xff0c 即应用层 传输层 网络层和
  • 趣谈网络协议-云计算中的协议

  • ros里Catkin的CMakelists/package.xml

    Catkin是基于CMake的编译构建系统 xff0c 具有以下特点 xff1a Catkin沿用了包管理的传统像 find package 基础结构 pkg config扩展了CMake xff0c 例如 软件包编译后无需安装就可使用 自
  • js根据坐标进行图片截图,获取图片上指定位置的截图

    根据坐标截取图片上指定的区域 xff0c 坐标可以是规则的图片截取 xff0c 也可以是不规则的图片截取 实现思路 xff1a 规则裁剪自然不用多说 xff0c 我们使用画布的getImageData x y width height 方法
  • 浅谈APM系列-----update_flight_mode(ModeAltHold)

    update flight mode xff08 ModeAltHold xff09 这里只看ModeAltHold 位置 xff1a X ardupilot ArduCopter mode cpp update flight mode c
  • 多态的总结

    对于多态 xff0c 可以总结以下几点 xff1a 一 使用父类类型的引用指向子类的对象 xff1b 二 该引用只能调用父类中定义的方法和变量 xff1b 三 如果子类中重写了父类中的一个方法 xff0c 那么在调用这个方法的时候 xff0

随机推荐

  • android 深度图

    在 Android开发中自定义控件是一个范围很广的话题 xff0c 讲起自定义控件 xff0c 从广度上来划分的话 xff0c 大体上可以划分为 xff1a View ViewGroup的绘制事件分发各种动画效果滚动嵌套机制还有涉及到相关的
  • 在配置Intel realsense (D435i)时遇到的问题

    1 第一次配置相机时 配置完成后 运行相机报以下错误 02 11 20 50 18 674 WARNING 140196725126912 messenger libusb cpp 42 control transfer returned
  • Robosense M1/速腾半固态激光雷达M1 保姆级教程1-如何连接雷达?

    引言 当我们拿到M1雷达时 xff0c 可能会因为激光雷达是一个新的设备 xff0c 没有用过 xff0c 而感到紧张和局促 没有关系 xff0c 通过阅读文本 xff0c 可以让你轻而易举的上手使用激光雷达 1认识M1接口 图中较粗的接口
  • PMP(一):知识要点汇总

    开篇 首先恭喜自己成为 项目管理专业人士 的一员 xff0c 本专题旨在帮助自己重新梳理整个的知识体系以及后续对于项目管理的理解与尝试 系列一 xff1a 知识要点汇总 以下内容是我在备考和考完后对于部分知识要点的一个汇总和总结 xff0c
  • git在vscode中的使用

    git在vscode中的使用 vscode 作为前端使用较多的软件 xff0c 平时的git操作不可避免 xff0c 但是利用vscode自带的功能和插件 xff0c 可以让我们的工作效率提高不少 项目准备 直接clone span cla
  • 获利空间看刘嘉玲理论来看;乐扣乐扣尽量靠近k

    i tiboo cn 1768805 i tiboo cn 1768806 i tiboo cn 1768807 i tiboo cn 1768810 i tiboo cn 1768813
  • 我见过最清晰的--理解梯度,散度,旋度

    作者 xff1a FRANK WANG 链接 xff1a https www zhihu com question 24074028 answer 26657334 来源 xff1a 知乎 梯度 运算的对像是纯量 运算出来的结果会是向量在一
  • 视觉应用工程师-环境安装教学视频-Mac系统其他操作

    立即学习 https edu csdn net course play 29993 432706 utm source 61 blogtoedu Mac系统安装miniconda搭建深度学习环境 安装 Conda是一个开源的包 环境管理器
  • Windows 环境下安装Redis 5.0.x 服务图文教程

    Windows 环境下安装Redis 5 0 x 服务图文教程 Redis官网并没有提供windows的安装包 xff0c github有第三方制作的windows安装包 下载地址 xff1a https github com tporad
  • Python 爬虫+可视化,手把手教你使用 Python 爬取 JD 网站并且可视化展示

    当你看到别人使用 Python 网络爬虫做出一些高大上的项目你是否也有那么一点点的心动 xff1f 羡慕别人用几行简单的代码就能获取到自己想要的数据 xff1f 羡慕别人用几行代码就能做出优美的可视化图案 xff1f 我将使用最新 Pyth
  • 推荐系统实践:基于数据集MovieLens构造简单推荐系统

    摘要 本文基于 MovieLens 数据集构造了用户 电影项目评价矩阵 xff0c 并基于评价矩阵计算两用户间的相似度 xff0c 取出相似度最高的 N 个用户作为候选用户序列 接着筛选出这 N 个候选用户的高分电影项目且当前用户尚未观看
  • Flask 入门教程:Jinja2模板用法

    Jinja2模板引擎简介 模板 在前面的示例中 xff0c 视图函数的主要作用是生成请求的响应 xff0c 这是最简单的请求 实际上 xff0c 视图函数有两个作用 xff1a 处理业务逻辑和返回响应内容 在大型应用中 xff0c 把业务逻
  • VINS-mono中坐标系定义以及通过VINS-mono求解无人机位姿

    因为在科研中需要使用VINS mono算法来为无人机提供位姿估计信息 因此需要搞清楚VINS mono相应坐标系以及无人机坐标系之间的关系 目录 1 坐标系关系 1 1 VINS mono坐标系定义 1 2 无人机坐标系 2 通过VINS
  • Github Copilot 开始收费了, 帮你列出些替代的插件

    今天打开 VSCode xff0c 弹出了Github Copilot 开始收费的通知 可以免费用到 8 月 22 日 xff0c 每月 70 元还是有些小贵 这里给大家推荐一些替代品 xff1a Kite https www kite c
  • 如何在 Ubuntu上使用 Nginx 设置密码验证

    介绍 设置 Web 服务器时 xff0c 您通常希望限制访问网站的某些部分 Web 应用程序通常提供自己的身份验证和授权方法 xff0c 但如果这些方法不充分或不可用 xff0c 则可以使用 Web 服务器本身来限制访问 在本指南中 xff
  • 使用Argo CD和GitOps持续部署到Kubernetes

    引言 使用Kubernetes部署你的应用程序可以提供显著的基础设施优势 xff0c 例如灵活的伸缩 分布式组件的管理以及对应用程序不同版本的控制 然而 xff0c 随着控制的增加 xff0c 复杂性也随之增加 持续集成和持续部署 CI C
  • GitHub Codespaces 的配置

    CPU xff1a 4x Xeon 64 2 60 GHz 轻度开发够用 xff0c 要是编译什么稍微复杂一点的项目 估计会CPU跑满 内存 xff1a 8G xff0c 勉强够用 自用的Mac 16G都感觉不太够 硬盘 xff1a 32G
  • 使用Zoundry在CSDN发布Blog

    安装一个Zoundry吧 xff0c 用这个来离线写Blog xff0c 再也不怕突然断线和丢失文章了 Zoundry是用Python实现的一个离线撰写Blog工具 支持Community Servedr blogger com Wordp
  • Python中Array的常用操作(二)数组基本操作

    1 数组操作 x代表数组中的元素 xff0c i代表位置 a append x 把元素x添加到数组的尾部 b insert i x 把元素x 插入到位置i c remove x 删除第一个元素x d pop i 删除第i个元素 xff0c
  • Python中Array的常用操作(三)数组高级操作

    1 抽取数组中不重复的数据 gt gt gt a 61 x 2 for x in range 1 5 2 gt gt gt uniq 61 list set a 8 2 4 6 gt gt gt uniq 61 sorted set a 2