第3关:Numpy迭代数组

任务描述
本关任务:利用本关相关知识,将一个ndarray类型的数组,顺时针旋转90度后输出。
相关知识
NumPy迭代器对象numpy.nditer提供了一种灵活访问一个或者多个数组元素的方式。利用nditer对象可以实现完成访问数组中的每一个元素,这项最基本的功能,使用标准的Python迭代器接口,可以逐个访问每一个元素。

In : x = np.arange(6).reshape(2, 3)  
In : for y in np.nditer(x):  
         print(y, end=" ")  
Out:  
0 1 2 3 4 5  

控制迭代顺序
nditer对象提供了一个命令参数,来控制迭代输出顺序,默认值是’K’,即order=‘k’。该默认值表示,按在存储器中的顺序输出。
同时nditer中,还提供了两个参数,控制迭代器输出顺序:
for x in np.nditer(a, order=‘F’) # Fortran order,即是列序优先;
for x in np.nditer(a.T, order=‘C’) # C order,即是行序优先;

修改数组元素值
默认情况下,nditer 将视待迭代遍历的数组为只读对象(read-only),为了在遍历数组的同时,实现对数组元素值的修改,必须将可选参数op_flags指定为 read-write 或者 write-only 的模式。

In : x = np.arange(6).reshape(2, 3)  
In : for y in np.nditer(x, op_flags=[
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-阿呆-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值