python求矩阵每列最大值

定义一个二维数组,题目如下,但是一直在说我部分正确……不知道哪里有问题

img


代码如下:


t=int(input())
for k in range(t):
    n=int(input())
    k=0
    lst=list(map(int,input().split()))
    mat=[[0]*n for i in range(n)]
    for i in range(n):
        for j in range(n):
            mat[j][i]=lst[k]
            k=k+1
    Max=[]
    for i in mat:
        Max.append(max(i))
        print(max(Max),sum(i))



t应该是你的数组名,一个输入 t=int(input()) 不需要,输入n以后,数据输入到t[][]中

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/698520
  • 这篇博客也不错, 你可以看下Python编程基础 第五章 编程练习 编写程序实现以下功能:使用选择排序算法将列表中的元素按照升序方式排列。
  • 除此之外, 这篇博客: 【Python】基础算法小练中的 题目3:请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 【题目描述】 请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。
    【思路分析】
    此题只需要使用python的内置函数将string中的响应元素替换成空字符即可达到删除的目的。
    【注意】由于不区分大小写,则需要进行两次替换操作,一次替换要替换字符的大写形式;一次替换要删除字符的小写形式。

    【实现代码】

    # 3、请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。
    string = input("请输入一个字符串:")
    wantremove = input("请输入要删除的值:")
    print("删除前: " + string)
    up = wantremove.upper()  # 存储要删除值的大写
    low = wantremove.lower()  # 存储要删除值的小写
    # 字符串处理,先把大写的符合条件替换删除,再把小写的替换删除
    string = string.replace(up, "")
    string = string.replace(low, "")
    # 输出结果
    print("删除后: " + string)
    

    【实现结果】
    在这里插入图片描述

  • 您还可以看一下 CSDN讲师老师的Python数据分析实战:泰坦尼克号之灾与机器学习算法课程中的 泰坦尼克号之灾与机器学习算法(上)小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以解决该问题。

    针对求矩阵每列最大值的问题,可以使用numpy库中的max函数来实现。具体步骤如下:

    1.首先导入numpy库:import numpy as np

    2.创建一个二维数组(即矩阵):

    matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

    3.获取矩阵每列的最大值:

    max_value = np.max(matrix, axis=0)

    代码如下:

    import numpy as np

    创建二维数组

    matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

    获取每列最大值

    max_value = np.max(matrix, axis=0)

    print(max_value)

    输出结果为:[7 8 9],表示矩阵每一列的最大值是7、8、9。

    需要注意的是,np.max函数的第二个参数axis表示计算的轴向,axis=0表示按列计算最大值,axis=1表示按行计算最大值。在本问题中,我们需要按列计算最大值,因此axis=0。如果你要求每行的最大值,则可以设置axis=1。

    希望我的回答能够帮助你解决问题。