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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
如何运行Python程序的方法
Apr 21 Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 Python
浅谈flask源码之请求过程
Jul 26 Python
python实现kmp算法的实例代码
Apr 03 Python
Python GUI学习之登录系统界面篇
Aug 21 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
python字符串替换re.sub()实例解析
Feb 09 Python
python中tab键是什么意思
Jun 18 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 Python
Python定义一个Actor任务
Jul 29 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 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
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
网站上面有这种切换效果
2006/06/26 Javascript
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
python创建学生成绩管理系统
2019/11/22 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
super关键字的用法
2012/04/10 面试题
自荐信包含哪些内容
2013/10/30 职场文书
办公室副主任职责范本
2014/03/08 职场文书
企业承诺书怎么写
2014/05/24 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
人力资源管理求职信
2014/08/07 职场文书
工程部岗位职责范本
2015/04/11 职场文书
学校推普周活动总结
2015/05/07 职场文书
刑事起诉书范文
2015/05/19 职场文书
实施意见格式范本
2015/06/05 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript