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操作字典类型的常用方法(推荐)
May 16 Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
Python 创建空的list,以及append用法讲解
May 04 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
python 文件查找及内容匹配方法
Oct 25 Python
Django基础知识 URL路由系统详解
Jul 18 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
python标识符命名规范原理解析
Jan 10 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
pandas中DataFrame检测重复值的实现
May 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
将数组写入txt文件 var_export
2009/04/21 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
javascript options属性集合操作代码
2009/12/28 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
Angular4表单验证代码详解
2017/09/03 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
详解Python中的元组与逻辑运算符
2015/10/13 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
生育关怀行动实施方案
2014/03/26 职场文书
实习评语大全
2014/04/26 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
css 中多种边框的实现小窍门
2021/04/07 HTML / CSS