鱼C论坛

 找回密码
 立即注册
查看: 15231|回复: 143

[技术交流] Python:每日一题 11

  [复制链接]
发表于 2017-3-29 17:38:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目:两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:
X = [[12,7,3],
    [4,5,6],
    [7,8,9]]
 
Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]
程序分析:创建一个新的 3 行 3 列的矩阵,使用 for 迭代并取出 X 和 Y 矩阵中对应位置的值,相加后放到新矩阵的对应位置中。
游客,如果您要查看本帖隐藏内容请回复


欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788 @lumber2388779   
点我上车

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-29 17:39:19 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-29 18:16:51 From FishC Mobile | 显示全部楼层
本帖最后由 ooxx7788 于 2017-3-29 19:39 编辑
import numpy as np

x = np.array([[12, 7, 3], [4, 5, 6], [7, 8, 9]])
y = np.array([[5, 8, 1], [6, 7, 3], [4, 5, 9]])
print(x + y)

手机现学现卖写一个,回去再看对不对。

输出
[[17 15  4]
 [10 12  9]
 [11 13 18]]
增加点不一样的方法嘛,你都把循环写了。虽然会造车轮子很重要,但是会用车轮子也很重要。

评分

参与人数 1荣誉 +2 鱼币 +2 收起 理由
新手·ing + 2 + 2 竟然使用numpy模块。。你你你

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 4 反对 0

使用道具 举报

发表于 2017-3-29 23:07:24 | 显示全部楼层
x = [[12,7,3],
    [4,5,6],
    [7,8,9]]
 
y = [[5,8,1],
    [6,7,3],
    [4,5,9]]

z = [i + j for i, j in zip(sum(x, []), sum (y, []))]
z = [z[0:3], z[3:6], z[6:9]]
>>> z
[[17, 15, 4], [10, 12, 9], [11, 13, 18]]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2017-3-30 09:56:47 | 显示全部楼层
def test(X,Y):
  if len(X) == len(Y):
    newlist = []
    for i in range(len(X)):
      eachx = X[i]
      eachy = Y[i]
      eachnew = []
      for a,b in zip(eachx,eachy):
        num = a + b
        eachnew.append(num)
      newlist.append(eachnew)
    return newlist
  else:
    print("X,Y数据不对等,无法计算")
print(test(X,Y))
>>>[[17, 15, 4], [10, 12, 9], [11, 13, 18]]
写了一个函数,可以计算任何行列的矩阵求和

没办法,谁叫我不会用numpy呢,只能用最原始的for循环了,也正好符合题目要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-30 10:17:22 From FishC Mobile | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-30 11:07:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-30 11:42:51 | 显示全部楼层
6666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-30 11:53:28 | 显示全部楼层
X = [[12,7,3],
    [4,5,6],
    [7,8,9]] 
Y = [[5,8,1],
    [6,7,3],
    [4,5,9]]
XY=[]
for i in range(len(X)):
    XY.append([])
    for j in range(len(X[i])):
        XY[i].append(X[i][j]+Y[i][j])
print(XY)
>>>
[[17, 15, 4], [10, 12, 9], [11, 13, 18]]

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
新手·ing + 1 + 1 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2017-3-30 12:55:15 | 显示全部楼层
444444444
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-30 13:01:27 | 显示全部楼层
拉闸!写了个和楼主一模一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 1

使用道具 举报

 楼主| 发表于 2017-3-30 16:47:24 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-30 16:50:03 | 显示全部楼层
感谢大家支持!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-31 08:44:06 | 显示全部楼层
看看,简单结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-31 09:47:00 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-31 09:58:01 | 显示全部楼层
for i in range(len(x)):
      for j in range(len(x[i])):
                z[i][j] = x[i][j] + y[i][j]
感觉写成len(x[i])更好一点,结果是一样的

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
新手·ing + 1 + 1 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-31 09:59:21 | 显示全部楼层
Bruin 发表于 2017-3-31 09:58
感觉写成len(x)更好一点,结果是一样的


为啥x【i】不会显示【i】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-31 18:57:55 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-31 19:24:30 | 显示全部楼层

欢迎一起做题
有鱼币奖励~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 23:05:00 | 显示全部楼层
x=[[12,7,3],[4,5,6],[7,8,9]]
y=[[5,8,1],[6,7,3],[4,5,9]]
z=[]
for i in range(3):
for j in range(3):
        z.append(x[i][j]+y[i][j])
print(z)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 18:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表