【问题标题】:Making a matrix with numpy.array用 numpy.array 制作矩阵
【发布时间】:2021-07-11 11:06:13
【问题描述】:

我尝试使用带有以下代码的 numpy.array 创建一个矩阵

def matrix_input(3):
    matrix = []
    for i in range(N):
        a = nd.array(input().split(),int)
        matrix.append(a)
    print(matrix)

但我得到以下输出: [array([1, 1, 1]), array([1, 1]), array([1, 1, 1])]

对于输入:

1 1 1 
 1 1 
1 1 1 

我不希望矩阵中包含单词数组...如何删除它?

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    将其列在代码的第 4 行。此外,请按照以下代码中的说明更正您的功能。 函数调用函数创建是两件不同的事情,你传递给它的参数也是如此。

    import numpy as np
    
    def matrix_input(N):  # Argument to function while creation is wrong, use N instead of 3.
        matrix = []
        for i in range(N):
            a = list(np.array(input().split(),int))  # Make it a list here
            matrix.append(a)
        print(matrix)
    

    输出:

    matrix_input(3)
    1 1 1
    1 1
    1 1 1
    
    [[1, 1, 1], [1, 1], [1, 1, 1]]
    

    创建正确矩阵的替代方法:

    import numpy as np
    
    matrix_1 = np.matrix([[1,1,1],[1,1,0],[1,1,1]])
    print(matrix_1)
    

    输出:

    [[1 1 1]
     [1 1 0]
     [1 1 1]]
    

    【讨论】:

    • 是否有官方的 stackoverflow 推荐使用 Python-3.x 而不是 Python。你有我的链接吗?我的意思是 Python2 已经被弃用一年多了。我们不能让它安息吗?
    • @user2640045 我认为没有。但是,我告诉 OP,因为很少有人可能仍然使用 python-2。 Python-2 已经到了我不知道的生命的尽头。我没有阅读太多的开发新闻。对于那个很抱歉。然而,在我的操作系统中,Python-2 仍然是默认设置,这很奇怪。
    猜你喜欢
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多