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常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
编写简单的Python程序来判断文本的语种
Apr 07 Python
浅谈Python 对象内存占用
Jul 15 Python
Python中字典的setdefault()方法教程
Feb 07 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
Tensorflow 查看变量的值方法
Jun 14 Python
python+pandas+时间、日期以及时间序列处理方法
Jul 10 Python
python语音识别实践之百度语音API
Aug 30 Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
培养自己的php编码规范
2015/09/28 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
angular.bind使用心得
2015/10/26 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
Vue组件tree实现树形菜单
2017/04/13 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Python正则表达式如何匹配中文
2020/05/27 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
历史专业毕业生的自我鉴定
2013/11/15 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
讲文明树新风演讲稿
2014/05/12 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
学年个人总结范文
2015/03/05 职场文书
故意伤害辩护词
2015/05/21 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL