python之array赋值技巧分享
作者:Richard1905 发布时间:2021-11-23 17:16:55
标签:python,array,赋值
首先上一段程序:
import numpy as np
list_a = list(range(10))
print("list_a: {}".format(list_a))
array_a = np.array(list_a)
print("array_a: {}".format(array_a))
list_b = [True,False,True,True,False,False,True,False,True,False]
print("list_b: {}".format(list_b))
array_b = np.array(list_b)
print("array_b: {}".format(array_b))
mask = np.zeros(10,dtype=np.bool)
print("mask: {}".format(mask))
下面是这段程序的输出:
list_a: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
array_a: [0 1 2 3 4 5 6 7 8 9]
list_b: [True, False, True, True, False, False, True, False, True, False]
array_b: [ True False True True False False True False True False]
mask: [False False False False False False False False False False]
从输出可以看出list和array的不同之处是list是以逗号作为分隔符,而array是以空格作为分隔符。还有numpy中的zeros生成的是array。其实,list和array还有很多的不同之处,例如:
list是Python中的普通列表对象,支持append和attend操作,没有shape属性;array是numpy数据库中的对象,不支持append和attend操作,具有shape属性。
一个list中可以存放不同类型的数据,如int、float、str或者布尔型;而array中只能存放相同类型的数据。
list不支持乘法操作;array支持乘法操作。
而对于赋值操作,操作对象只能是array,而索引可以是array也可以是list:
d = array_a[list_b]
print("array_a[list_b]: {}".format(d))
e = array_a[array_b]
print("array_a[array_b]: {}".format(e))
mask[list_b] = 1
print("mask: {}".format(mask))
输出如下:
array_a[list_b]: [0 2 3 6 8]
array_a[array_b]: [0 2 3 6 8]
mask: [ True False True True False False True False True False]
此番操作可以将array_a中对应b数组或列表True位上的元素组成一个新的数组。
如果对列表进行如此赋值操作,即把程序中的array_a换成list_a,则会报错:
d = list_a[list_b]
TypeError: list indices must be integers or slices, not list
e = list_a[array_b]
TypeError: only integer scalar arrays can be converted to a scalar index
来源:https://blog.csdn.net/qq_38624569/article/details/82596458


猜你喜欢
- 实际操作中我们经常需要寻找数据的某行或者某列,这里介绍我在使用Pandas时用到的两种方法:iloc和loc。loc:通过行、列的名称或标签
- 因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的
- MYSQL中批量替换某个字段的部分数据,具体介绍如下所示:1.修改字段里的所有含有指定字符串的文字UPDATE 表A SET 字段B = r
- 看过一篇关于下载网页中图片的文章,它只能下载以http头的图片,我做了些改进,可以下载网页中的所有连接资源,并按照网页中的目录结构建立本地目
- 前言上一篇介绍了客户端流式RPC,客户端不断的向服务端发送数据流,在发送结束或流关闭后,由服务端返回一个响应。本篇将介绍双向流式RPC。双向
- 1.问题描述: 我桌面上有一个“账号密码.db”文件,我现在想知道里面有几张表格table、表格的名字、表头结构。2.使用SQL语句&quo
- 异常:python3的xadmin主题只显示默认和bootstrap2解决办法:慢慢来相信能遇到这个问题的人,都是已经配置好xadmin的,
- 1. 问题截图:(8000端口被占用)2. 第一种是可能会打开了多个运行窗口右键关闭即可:3. 第二种是在你运行python的主机上查询出p
- 一.Orcal临时表分类1.会话级临时表1).保存一个会话Session的数据。2).当会话退出时,临时表数据自动清空。表结构与元数据还存储
- 揭秘一个普通的输入框背后惊人的秘密。某月某日,某项目某页面,需要一个价格区间筛选功能,需求合理,所以设计做上去。这是一个无比普通的输入框。在
- 有朋友使用DIV居中,但是却发现DIV居中失灵了,是怎么回事呢?下面给大家解决一下问题,呵呵!1、一般情况下DIV居中失效是因为没写DTD语
- 本文实例讲述了Python实现115网盘自动下载的方法。分享给大家供大家参考。具体实现方法如下:实例中的1.txt,是网页http://bb
- 其实网上已经有很多这样的类了,不过出于练手的目的还是自己仿照着写了一个。下面的代码放在一个名为UploadFile.class.php文件内
- 工具:python2.7相关包:traits-4.6.0-cp27-cp27m-win32.whl, VTK-7.1.1-cp27-cp27
- 本文实例讲述了Python实现账号密码输错三次即锁定功能。分享给大家供大家参考,具体如下:初学Python—1#实现账号输错三次即锁定use
- 下面列出Python正则表达式的几种匹配用法,具体内容如下所示:此外,关于正则的一切http://deerchao.net/tutorial
- 0x01 前言Nessus是一个功能强大而又易于使用的远程安全扫描器,Nessus对个人用户是免费的,只需要在官方网站上填邮箱,立马就能收到
- “MySQL是一个功能齐全的关系数据库管理系统(RDBMS),可以与Oracle DB和Microsoft的SQL Server竞争。MyS
- 根本原因:python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None我们输入的代码如下:
- 程序很简单,主要是 mp3play 模块的应用import mp3play, timefilename = "Should It