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

yipeiwu_com5年前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中使用platform模块获取系统信息的用法教程

操作系统相关 system() : 操作系统类型(见例) version(): 操作系统版本 release(): 操作系统发布号, 例如win 7返回7, 还有如NT,...

python调用java模块SmartXLS和jpype修改excel文件的方法

本文实例讲述了python调用java模块SmartXLS和jpype修改excel文件的方法。分享给大家供大家参考。具体实现方法如下: # -*- coding: utf8 -*-...

python下载文件时显示下载进度的方法

本文实例讲述了python下载文件时显示下载进度的方法。分享给大家供大家参考。具体分析如下: 将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, sa...

Python 网络编程说明第1/2页

一、网络知识的一些介绍 socket 是网络连接端点。例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51....

彻底搞懂Python字符编码

彻底搞懂Python字符编码

不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们...