题解 | 矩阵转置

矩阵转置

https://www.nowcoder.com/practice/7a8b443abda641bba5f70e0b4ebd8161

from csv import Error
from typing import List, Union

# 使用 Union 来表示类型可以是 int 或 float
def transpose_matrix(a: List[List[Union[int, float]]]) -> List[List[Union[int, float]]]:
    n = len(a)
    if n <= 0:
        raise ValueError('Unsupported')
    m = len(a[0])
    res = []
    for j in range(m):
        row = []
        for i in range(n):
            row.append(a[i][j])
        res.append(row)
    return res


# 处理输入输出
def main():
    try:
        matrix_str = input().strip()
        # 去掉最外层的方括号,并分割每个子数组
        rows = matrix_str[2:-2].split('],[')
        # 将每个子数组转换为数字列表
        matrix = [list(map(int, row.split(','))) for row in rows]
        
        # 计算转置矩阵
        result = transpose_matrix(matrix)
        
        # 格式化输出
        print(str(result).replace(' ', ''))
    except Exception as e:
        print(f"输入格式错误: {e}")

if __name__ == "__main__":
    main()

全部评论

相关推荐

03-12 15:35
嘉应学院 Python
快说谢谢牛牛精灵:说不定就是下一个寒武纪!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务