在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包的五个简单准则简介

创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的...

Python学习小技巧之利用字典的默认行为

本文介绍的是关于Python利用字典的默认行为的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: from collections import defaul...

导入tensorflow时报错:cannot import name 'abs'的解决

导入tensorflow时报错:cannot import name 'abs'的解决

一,问题背景 作者在用tensorflow做实验时,import tensorflow忽然报错:cannot import name 'abs'。错误情况如下所示: 这个问题出现的比较...

简单理解Python中的装饰器

Python的装饰器可以实现在代码运行期间修改函数的上下文, 即可以定义函数在执行之前进行何种操作和函数执行后进行何种操作, 而函数本身并没有任何的改变。 首先, 我们先定义一个函数,...

使用Python3制作TCP端口扫描器

使用Python3制作TCP端口扫描器

在渗透测试的初步阶段通常我们都需要对攻击目标进行信息搜集,而端口扫描就是信息搜集中至关重要的一个步骤。通过端口扫描我们可以了解到目标主机都开放了哪些服务,甚至能根据服务猜测可能存在某些漏...