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

yipeiwu_com7年前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中如何使用insert函数

这篇文章主要介绍了python中如何使用insert函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 描述 insert() 函数用...

python多维数组切片方法

1、数组a第0个元素(二维数组)下的所有子元素(一维数组)的第一列 import numpy as np b=np.arange(24) a=b.reshape(2,3,4) pri...

django静态文件加载的方法

在模板中往往要加载静态文件,如CSS, JavaScript,图片等。那么这些文件在django中如何才能正确加载呢? 首先要在settings文件中进行设置,关于静态文件的设置选项主要...

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

python自动化测试之如何解析excel文件

前言 自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,...