思路:

矩阵 * 向量 需要满足的条件:二维矩阵的列数 = 向量的元素长度(即len())。

在这道题里面相对简单我们只需要使用=shape=返回矩阵的列数n,然后跟向量的len对比,如果不匹配,返回-1,如果匹配则调用=dot函数= or =@符号= or =matmul函数= 即可

def matrix_vector_dot_product(matrix, vector):
    """
    计算矩阵和向量的点积
    
    参数:
    matrix: 二维列表,表示矩阵
    vector: 一维列表,表示向量
    
    返回:
    如果维度匹配,返回点积结果的一维列表
    如果维度不匹配,返回 -1
    """
    import numpy as np
    # 将输入转换为numpy数组
    mat = np.array(matrix)
    vec = np.array(vector)
    
    # 获取矩阵的维度
    m, n = mat.shape  # m行,n列
    
    # 检查维度是否匹配:矩阵的列数应该等于向量的长度
    if n != len(vec):
        return -1
    
    # 计算点积
    result = np.dot(mat, vec)
    # result = np.matmul(mat, vec)
    # result = mat @ vec
    
    # 将结果转换为列表形式返回
    return result.tolist()

# 主程序
if __name__ == "__main__":
    
    # 输入矩阵和向量
    matrix_input = input()
    vector_input = input()

    # 处理输入
    import ast
    matrix = ast.literal_eval(matrix_input)
    vector = ast.literal_eval(vector_input)

    # 调用函数计算点积
    output = matrix_vector_dot_product(matrix, vector)
    
    # 输出结果
    print(output)