当前位置: 首页 > 面试题库 >

使用nditer的浅层迭代

巫马阳飙
2023-03-14
问题内容

我有这样一个数组

>>>y = np.random.randint(0, 255, (2,2,3))
>>>array([[[242, 14, 211],
           [198,  7,   0]],

          [[235,  60,  81],
           [164,  64, 236]]])

而且我必须遍历每个 三元组 元素(不幸的是,矢量化在这里对我没有帮助…)。所以我尝试了:

for i, j in np.nditer(y):
print y[i, j],

希望我能得到这样的输出:

[242, 14, 211], [198, 7, 0], [235, 60, 81], [164, 64, 236],但是没有运气!

我得到错误:

Traceback (most recent call last):

  File "<ipython-input-21-a336ef837a8a>", line 1, in <module>
    for i, j in np.nditer(y):    print y[i,j]

TypeError: iteration over a 0-d array

我敢肯定我犯了一个非常明显的错误……有人可以帮我吗?


问题答案:

看来您只需要将其展平。您可以chain从itertools使用运算符。

from itertools import chain


y = np.random.randint(0, 255, (2,2,3)
b = chain.from_iterable(y) # where b is a generator

清单(b)输出

[array([ 51, 119,  84]),
 array([ 50, 110, 193]),
 array([165, 157,  52]),
 array([239, 119,  83])]


 类似资料:
  • 本文向大家介绍Lua中的迭代器浅析,包括了Lua中的迭代器浅析的使用技巧和注意事项,需要的朋友参考一下 今天学习的内容还蛮有意思的,让我兴奋了一下~ 1.迭代器 什么是迭代器?别傻了,我最讨厌的就是名词解释了,反正就是用来遍历集合的一种方式。 比如,我们最常用的pairs,如下代码:   这是一次遍历table的操作,然后打印出table的key值和value值。 输出结果如下: 2.自己写一个迭

  • 本文向大家介绍浅析Python迭代器的高级用法,包括了浅析Python迭代器的高级用法的使用技巧和注意事项,需要的朋友参考一下 跳过开头 首先是跳过开始部分,这个在我们读取文本的时候最常用。在实际的应用当中,比如记录的日志或者是代码等等,一般来说头部都会附上一段说明,或者用注释标注或者是用特殊的符号标记。这些信息是给用到数据的程序员看的,当我们通过代码获取数据的时候,显然是希望可以过滤掉这些信息的

  • 本文向大家介绍浅谈python迭代器,包括了浅谈python迭代器的使用技巧和注意事项,需要的朋友参考一下 1、yield,将函数变为 generator (生成器) 例如:斐波那契数列 2、Iterable 所有可以使用for循环的对象,统称为 Iterable (可迭代) 3、Iterator 可以使用next() <__next__()> 函数调用并且不断返回下一个值的对象成为 Iterat

  • 本文向大家介绍浅谈javascript 迭代方法,包括了浅谈javascript 迭代方法的使用技巧和注意事项,需要的朋友参考一下 ECMAScript5为数组定义了5个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象(即影响this的值)。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。根据使用方法的不同,这个函数执行后

  • 本文向大家介绍浅谈c++ stl迭代器失效的问题,包括了浅谈c++ stl迭代器失效的问题的使用技巧和注意事项,需要的朋友参考一下 之前看《C++ Primier》的时候,也解到在顺序型窗口里insert/erase会涉及到迭代器失效的问题,并没有深究。今天写程序的时候遇到了这个问题。 1 莫名其妙的Erase 最初我的程序是酱紫的,别说话,我知道这样是有问题的,可这样是最直观的想法 没错,程序崩

  • 本文向大家介绍什么是浅层渲染?相关面试题,主要包含被问及什么是浅层渲染?时的应答技巧和注意事项,需要的朋友参考一下 当为 React 写单元测试时,浅层渲染(Shallow Renderer) 会变得十分有用。浅层渲染使你可以渲染 “单层深度” 的组件,并且对组件的 render 方法的返回值进行断言,不用担心子组件的行为,组件并没有实例化或被渲染。浅渲染并不需要 DOM。 http://reac