【问题标题】:List to array conversion to use ravel() function列表到数组转换以使用 ravel() 函数
【发布时间】:2013-03-29 21:50:19
【问题描述】:

我在 python 中有一个列表,我想将它转换为一个数组以便能够使用ravel() 函数。

【问题讨论】:

  • 请尝试回答澄清请求并改进您的问题,而不是产生很多不太好的问题。最后,仔细阅读this answer。我认为它解决了你的大问题......

标签: python arrays list numpy


【解决方案1】:

如果您只想在(嵌套的,我假设?)列表中调用ravel,您可以直接这样做,numpy 将为您进行转换:

L = [[1,None,3],["The", "quick", object]]
np.ravel(L)
# array([1, None, 3, 'The', 'quick', <class 'object'>], dtype=object)

另外值得一提的是you needn't go through numpy at all

【讨论】:

    【解决方案2】:

    使用以下代码:

    import numpy as np
    
    myArray=np.array([1,2,4])  #func used to convert [1,2,3] list into an array
    print(myArray)
    

    【讨论】:

      【解决方案3】:

      使用numpy.asarray:

      import numpy as np
      myarray = np.asarray(mylist)
      

      【讨论】:

      • 其实myarray = np.array(mylist)应该够用了。
      • 好吧,asarray 更安全,因为它不会复制数组而是简单地返回它们,所以使用它是一个好习惯,除非它确定要复制原始数据
      • @EnricoGiampieri,公平的,但无论如何你都不需要从中得到一个数组吗?我想我不明白你不会得到任何一个命令来生成一个新的数组对象。
      • 这两个命令都会从列表开始创建一个新数组,这是肯定的,但通常重点是将输入转换为特定格式以应用某种方法,这看起来更像是OP。除非确定需要新副本,否则使用 asarray 是一个好习惯。只需输入array 就足够了,但是为什么要在我们在这里的时候放弃教育 OP 养成一些好习惯的可能性呢?
      • 我只想说@fgb 提出了一个适当的解决方案。 '.asarray' 函数返回一个 numpy 对象,而 '.array 直接返回一个数组。不管怎样,谢谢你们!
      【解决方案4】:

      创建一个 int 数组和一个列表

      from array import array
      listA = list(range(0,50))
      for item in listA:
          print(item)
      arrayA = array("i", listA)
      for item in arrayA:
          print(item)
      

      【讨论】:

      • “i”代表什么? str 应该是什么?
      【解决方案5】:

      我想要一种方法来做到这一点,而无需使用额外的模块。先将列表转为字符串,然后追加到数组:

      dataset_list = ''.join(input_list)
      dataset_array = []
      for item in dataset_list.split(';'): # comma, or other
          dataset_array.append(item)
      

      【讨论】:

      • 不能编辑错字:第一行应该是dataset_list = ';'.join(input_list)
      【解决方案6】:

      如果变量 b 有一个列表,那么您可以简单地执行以下操作:

      创建一个新变量“a”为:a=[] 然后将列表分配给“a”为:a=b

      现在“a”在数组中包含列表“b”的所有组件。

      所以你已经成功地将列表转换为数组。

      【讨论】:

      • 其实,不……这是完全错误的。你所拥有的只是两个指向同一个列表的变量,而不是一个 numpy 数组。
      猜你喜欢
      • 2020-07-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 2020-07-15
      • 2015-04-02
      • 1970-01-01
      相关资源
      最近更新 更多