python之array赋值技巧分享


Posted in Python onNovember 28, 2019

首先上一段程序:

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

以上这篇python之array赋值技巧分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的下载8000首儿歌的代码分享
Nov 21 Python
python实现telnet客户端的方法
Apr 15 Python
Flask框架的学习指南之开发环境搭建
Nov 20 Python
Python语言实现将图片转化为html页面
Dec 06 Python
简单了解python单例模式的几种写法
Jul 01 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
Python的scikit-image模块实例讲解
Dec 30 Python
详解Python中*args和**kwargs的使用
Apr 07 Python
python3 实现函数写文件路径的正确方法
Nov 27 #Python
关于Python3 lambda函数的深入浅出
Nov 27 #Python
python3中rank函数的用法
Nov 27 #Python
Python values()与itervalues()的用法详解
Nov 27 #Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 #Python
对python中assert、isinstance的用法详解
Nov 27 #Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 #Python
You might like
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php与c 实现按行读取文件实例代码
2017/01/03 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
针对初学者的jQuery入门指南
2015/08/15 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
详解node-ccap模块生成captcha验证码
2017/07/01 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
python实现在pickling的时候压缩的方法
2014/09/25 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
django 环境变量配置过程详解
2019/08/06 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
python urllib和urllib3知识点总结
2021/02/08 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
信息技术专业个人自我评价
2013/12/11 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
五年级英语教学反思
2014/01/31 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
开展创先争优活动总结
2014/08/28 职场文书
政风行风建设整改方案
2014/10/27 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
入党转正申请报告
2015/05/15 职场文书
MySQL基础(一)
2021/04/05 MySQL