【问题标题】:How to create an array with different data types in Python [closed]如何在 Python 中创建具有不同数据类型的数组 [关闭]
【发布时间】:2018-07-10 19:56:13
【问题描述】:

从我读过的文章中,我必须像这样创建它:

fileList = np.array[("chris.txt", 2569437), ("terry.dat", 4596), ("mike.doc", 6593543),
                 ("sarah.txt", 458667), ("david.ppt", 56437456), ("flyer.jpg", 4305),
                 ("fred.png", 54966), ("randy_.ocx", 5968434), ("terry.dmg", 54485656)
                 ("rick.exe", 4538565)]

但它给了我一个错误“'(str, int)' object is not callable”。我究竟做错了什么?我正在尝试做的事情是否可能?

【问题讨论】:

  • 您必须用() 包围所有内容 - array 接受单个值。您的错误是因为您在 3d 线上忘记了 ,。此外,Array 可能不是最适合此的类型 - 考虑使用字典。
  • 你少了一个逗号。请删除您的问题。
  • 你想要一个字符串数组,还是一个包含一个字符串字段和其他整数的结构化数组?

标签: python arrays python-2.7 numpy


【解决方案1】:

您忘记了最后一个元素之间的逗号 - python 认为最后一个元素是

("terry.dmg", 54485656) ("rick.exe", 4538565)

例如 - 尝试使用 2 个参数调用 ("terry.dmg", 54485656)"rick.exe", 4538565

【讨论】:

    【解决方案2】:
    fileList = np.array([("chris.txt", 2569437), ("terry.dat", 4596), ("mike.doc", 6593543),
                     ("sarah.txt", 458667), ("david.ppt", 56437456), ("flyer.jpg", 4305),
                     ("fred.png", 54966), ("randy_.ocx", 5968434), ("terry.dmg", 54485656),
                     ("rick.exe", 4538565)])
    

    您缺少调用array(...) 的括号,并且您在("terry", ...) 之后缺少一个逗号

    【讨论】:

    • 哇。不敢相信我没有看到。有点尴尬XD
    【解决方案3】:

    你的语法有点不对劲。试试:

    fileList = np.array([("chris.txt", 2569437), ("terry.dat", 4596), ("mike.doc", 6593543),
                 ("sarah.txt", 458667), ("david.ppt", 56437456), ("flyer.jpg", 4305),
                 ("fred.png", 54966), ("randy_.ocx", 5968434), ("terry.dmg", 54485656),
                 ("rick.exe", 4538565)])
    

    特别注意("terry.dmg", 54485656) 后面缺少的逗号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2017-07-08
      • 2015-08-24
      相关资源
      最近更新 更多