在Python中构建增广矩阵的实现方法

yipeiwu_com6年前Python基础

麻烦的

# TODO 构造增广矩阵,假设A,b行数相同
def augmentMatrix(A, b):
  if(len(A) != len(b)):
    raise 'The number of rows is different'
  result = []
  for i in range(len(A)):
    row = []
    for j in range(len(A[i])):
      row.append(A[i][j])
    for j in range(len(b[i])):
      row.append(b[i][j])
    result.append(row)    
  return result

优化后

# TODO 构造增广矩阵,假设A,b行数相同
def augmentMatrix(A, b):
  return [AA + bb for AA, bb in zip(A,b)]
 
A = [[1,2,3],[4,5,6],[7,8,9]]
b = [[1],[2],[3]]
print augmentMatrix(A,b)
[[1, 2, 3, 1], [4, 5, 6, 2], [7, 8, 9, 3]]

注:解读一下AA+bb, 在 python中, [1, 2, 3] + [4]这样的表达式会返回[1, 2, 3, 4]

以上这篇在Python中构建增广矩阵的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python远程连接MySQL数据库

本文实例为大家分享了python远程连接MySQL数据库的具体代码,供大家参考,具体内容如下 连接数据库 这里默认大家都已经配置安装好 MySQL 和 Python 的MySQL 模块,...

Python使用chardet判断字符编码

本文实例讲述了Python使用chardet判断字符编码的方法。分享给大家供大家参考。具体分析如下: Python中chardet 用来实现字符串/文件编码检测模板 1、chardet下...

Django中传递参数到URLconf的视图函数中的方法

有时你会发现你写的视图函数是十分类似的,只有一点点的不同。 比如说,你有两个视图,它们的内容是一致的,除了它们所用的模板不太一样: # urls.py from django.co...

将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例

在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做...

Python多线程threading和multiprocessing模块实例解析

Python多线程threading和multiprocessing模块实例解析

本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。 线程是一个进程的实体,是由表示程序运行状态的寄存器(如程序计数器、栈指...