在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实现二分法算法实例

1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K (2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域...

基于Python实现的微信好友数据分析

基于Python实现的微信好友数据分析

最近微信迎来了一次重要的更新,允许用户对”发现”页面进行定制。不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择”仅展示最近三天的朋友圈”,大概连微信官方都是一脸的无可奈...

Python中的id()函数指的什么

Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long i...

django2笔记之路由path语法的实现

9月23,Django 发布了2.0a1版本,这是一个 feature freeze 版本,如果没有什么意外的话,2.0正式版不会再增加新的功能了。按照以往的规律,预计正式版将在12月发...

Python内置的字符串处理函数整理

str='python String function' 生成字符串变量str='python String function'字符串长度获取:len(str)例:print '%s l...