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构造函数及解构函数介绍
Feb 26 Python
Python中max函数用法实例分析
Jul 17 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 Python
Python创建xml文件示例
Mar 22 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python清空文件并替换内容的实例
Oct 22 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
pytorch 实现tensor与numpy数组转换
Dec 27 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
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
python使用Tkinter显示网络图片的方法
2015/04/24 Python
快速了解Python相对导入
2018/01/12 Python
详解Python字典小结
2018/10/20 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
数控技术专业推荐信
2013/11/01 职场文书
护理学毕业生求职信
2013/11/14 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
个人工作总结范文2014
2014/11/07 职场文书
监理中标通知书
2015/04/16 职场文书
python xlwt模块的使用解析
2021/04/13 Python
Python标准库pathlib操作目录和文件
2021/11/20 Python
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA