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 描述符(Descriptor)入门
Nov 20 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
在python中画正态分布图像的实例
Jul 08 Python
python打造爬虫代理池过程解析
Aug 15 Python
用Python解数独的方法示例
Oct 24 Python
利用python实现AR教程
Nov 20 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
python跨文件使用全局变量的实现
Nov 17 Python
Python如何利用pandas读取csv数据并绘图
Jul 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
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
PHP fprintf()函数用法讲解
2019/02/16 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
PHP7 其他修改
2021/03/09 PHP
用jscript实现新建word文档
2007/06/15 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
vue如何进行动画的封装
2018/09/26 Javascript
js实现随机点名程序
2020/09/17 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python实现的RSS阅读器实例
2015/07/25 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
python 自动识别并连接串口的实现
2021/01/19 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
如何给HTML标签中的文本设置修饰线
2019/11/18 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
工作违纪检讨书
2014/02/17 职场文书
应届生找工作求职信
2014/06/24 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书