【问题标题】:Creating a (2,2,3) Numpy array [closed]创建一个(2,2,3)Numpy数组[关闭]
【发布时间】:2018-02-13 00:42:23
【问题描述】:

我只是想创建一个(2,2,3) Numpy 数组,并完成了以下操作:

a = np.array[[[1,2,3],
              [4,5,6]],
             [[6,7,8],
              [9,10,11]]]

但是我得到以下错误:

File "xyz.py", line 6, in <module>
    [9,10,11]]] 
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

我该如何解决这个问题?

谢谢。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    你忘记了括号。你想要

    a = numpy.array([[[1,2,3],
              [4,5,6]],
             [[6,7,8],
              [9,10,11]]])
    

    您收到“无属性 '__getitem__'”错误,因为在符号后放置方括号意味着“使用方括号内的内容调用此对象的 __getitem__() 方法”,当您进行简单的字典查找时会发生以下情况:

    >>> a = {1: 2}
    >>> a[1]
    2
    >>> a.__getitem__(1)
    2
    

    【讨论】:

    • 请考虑不要对明显的拼写错误给出完整的答案。虽然这些问题是关于主题的,但它们只对提问者有帮助,对未来的读者没有帮助。这些问题一旦回答就不必留在网站上,但留下赞成/接受的完整答案会阻碍automatic deletion processes。还有很多dupes这个错误。
    • *括号 :)
    • @AndrasDeak 在您发表评论时,我正在为令人困惑的错误消息添加更完整的解释。我不同意这个答案对未来的提问者没有帮助,因为这个错误很有误导性。
    • 查看我对关于重复的评论的编辑。又是一个不回答的理由。
    • 您希望未来的读者遇到同样的语法错误,如何真正找到这个问题?他们会使用哪些 Google 搜索字词?
    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多