【问题标题】:Numpy array outputNumpy 数组输出
【发布时间】:2017-10-28 15:39:38
【问题描述】:

请帮帮我!我有以下代码打印出转换后的数组

import numpy as np
from math import *


def walsh_transform(x):
    if len(x.shape) < 2:
        if len(x) > 3:
            n = len(x)
            m = trunc(log(n, 2))
            x = x[0:2 ** m]
            h2 = np.array([[1, 1], [1, -1]])
            for i in range(m - 1):
                if i == 0:
                    h = np.kron(h2, h2)
                else:
                    h = np.kron(h, h2)

            return np.dot(h, x) / 2. ** m,


temp_arr = []

arr = [1.0, 1.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0]
arr = np.array(arr)
for arr in walsh_transform(arr):
    temp_arr.append(arr)

print(type(temp_arr))
print(temp_arr)

我得到的打印结果为[array([ 0.625, -0.125, -0.125, 0.125, 0.625, -0.125, -0.125, 0.125])],因此 temp_arr 是一个常规列表:&lt;class 'list'&gt;。像这样打印怎么办? [ 0.625, -0.125, -0.125, 0.125, 0.625, -0.125, -0.125, 0.125]

【问题讨论】:

    标签: python arrays algorithm python-3.x numpy


    【解决方案1】:

    您实际拥有的是numpy 数组列表。如果你只关心第一个,试试print(list(temp_arr[0]))

    【讨论】:

      【解决方案2】:

      而不是追加尝试扩展。

      for arr in walsh_transform(arr):
          temp_arr.extend(arr)
      

      输出:

      [0.625, -0.125, -0.125, 0.125, 0.625, -0.125, -0.125, 0.125]
      

      【讨论】:

        猜你喜欢
        • 2014-01-22
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-17
        • 2014-04-26
        相关资源
        最近更新 更多