numpy基本操作(4):迭代数组

import numpy as np

#NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。
a=np.arange(6).reshape(2,3)
print(a)
for x in np.nditer(a):
    print(x,end=",")
print("\n")

#修改数组中元素的值
#nditer对象有另一个可选参数 op_flags。默认情况下,nditer将视待迭代遍历的数组为只读对象(read-only),
# 为了在遍历数组的同时,实现对数组元素值得修改,必须指定 read-write 或者 write-only 的模式。
for x in np.nditer(a, op_flags=['readwrite']): 
    x[...]=2*x 
print(a)

#[[0 1 2]
# [3 4 5]]
#0,1,2,3,4,5,
#
#[[ 0  2  4]
# [ 6  8 10]]

#使用外部循环
#external_loop	给出的值是具有多个值的一维数组,而不是零维数组
for x in np.nditer(a, flags =  ['external_loop'], order =  'F'):  
   print (x, end=", " )
print("\n")
#[0 6], [2 8], [ 4 10], 

#广播迭代
a=np.arange(0,60,5).reshape(3,4)
print(a)
b=np.arange(4,dtype=int)
print(b)
for x,y in np.nditer([a,b]):  
    print ("%d:%d"  %  (x,y), end=", " )
#[[ 0  5 10 15]
# [20 25 30 35]
# [40 45 50 55]]
#[0 1 2 3]
#0:0, 5:1, 10:2, 15:3, 20:0, 25:1, 30:2, 35:3, 40:0, 45:1, 50:2, 55:3, 

参考:https://www.runoob.com/numpy/numpy-terating-over-array.html

以上,记录本人学习过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值