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 相关文章推荐
Django中处理出错页面的方法
Jul 15 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
Python环境变量设置方法
Aug 28 Python
深入理解Python3中的http.client模块
Mar 29 Python
python数据类型_字符串常用操作(详解)
May 30 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
Python实现决策树C4.5算法的示例
May 30 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 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 addslashes 函数详细分析说明
2009/06/23 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
Python读写文件方法总结
2015/06/09 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python制作词云图代码实例
2019/09/09 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
PyTorch的torch.cat用法
2020/06/28 Python
python3访问字典里的值实例方法
2020/11/18 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
Python用SSH连接到网络设备
2021/02/18 Python
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
C#面试题问题集
2016/04/02 面试题
三好学生演讲稿范文
2014/04/26 职场文书
小学生环保倡议书
2014/05/15 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
个人总结与自我评价
2015/02/14 职场文书
2015年超市工作总结
2015/04/09 职场文书
债务纠纷起诉书
2015/05/20 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Tomcat弱口令复现及利用
2022/05/06 Servers
Django框架之路由用法
2022/06/10 Python