鱼C论坛

 找回密码
 立即注册
查看: 437|回复: 8

[已解决]数组计算问题(新)

[复制链接]
发表于 2020-4-4 21:51:19 | 显示全部楼层 |阅读模式

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

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

x
请问各位大佬:
有2个数组:
a=[[1,2,3,4],[1,2],[1,2,3],5]
b=[[1,2,3],[1,2,3],[1,2],5,6]

怎么能得到数组c:
[[2,4,6,4],[2,4,3],[2,4,3],10,6]

数组c也可以变成
[[2,4,6,4],[2,4,3],[2,4,3],[10],[6]]
能否两种都给写一代码,非常感谢。
最佳答案
2020-4-4 22:26:32
本帖最后由 sunrise085 于 2020-4-4 22:29 编辑
def fun(a,b):
        c=[]
        if len(a)<=len(b):
                a,b=b,a
        for i in range(len(a)):
                if i<len(b):
                        if type(a[i])==list:
                                c.append(fun(a[i],b[i]))
                        else:
                                c.append(a[i]+b[i])
                else:
                        c.append(a[i])
        return c

a=[[1,2,3,4],[1,2],[1,2,3],5]
b=[[1,2,3],[1,2,3],[1,2],5,6]
print(fun(a,b))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-4 22:01:41 From FishC Mobile | 显示全部楼层
感觉步骤有点多啊,不想动手=_=
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:03:31 | 显示全部楼层
倒戈卸甲 发表于 2020-4-4 22:01
感觉步骤有点多啊,不想动手=_=

辛苦一下啊,哈哈。我看他们用帝归不是2行就搞定了啊。我不会,大佬费心。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:05:09 | 显示全部楼层
倒戈卸甲 发表于 2020-4-4 22:01
感觉步骤有点多啊,不想动手=_=

其实前面我问过类似的问题,大佬给出了答案,但是我感觉我悟性不够啊。
https://fishc.com.cn/thread-163560-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:26:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-4-4 22:29 编辑
def fun(a,b):
        c=[]
        if len(a)<=len(b):
                a,b=b,a
        for i in range(len(a)):
                if i<len(b):
                        if type(a[i])==list:
                                c.append(fun(a[i],b[i]))
                        else:
                                c.append(a[i]+b[i])
                else:
                        c.append(a[i])
        return c

a=[[1,2,3,4],[1,2],[1,2,3],5]
b=[[1,2,3],[1,2,3],[1,2],5,6]
print(fun(a,b))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:33:24 | 显示全部楼层

非常感谢您。
能否请教一下,您这个能扩展吗?
如果有a,b,c,d或者N多列表呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:42:16 | 显示全部楼层
高义校长 发表于 2020-4-4 22:33
非常感谢您。
能否请教一下,您这个能扩展吗?
如果有a,b,c,d或者N多列表呢

没太明白,N多列表是啥意思
意思是不一定只有a b,也可能是a b c d……合成m
是这个意思吗?
那样的话,这个函数肯定不行,这个函数这不是只有两个参数么。
需要在此基础之上进行修改完善。
我是在手机上码字的 ,很不方便码代码,你自己按照这个基础版本需要一下吧。或者等其他人回答吧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 22:52:10 | 显示全部楼层
sunrise085 发表于 2020-4-4 22:42
没太明白,N多列表是啥意思
意思是不一定只有a b,也可能是a b c d……合成m
是这个意思吗?

非常感谢您。
https://fishc.com.cn/thread-163560-1-1.html
您这个也能解决我的问题的,就是改起来比较麻烦。
其实我是想用这个写个递归,然后就可以扩展了,但是就是始终写不对。
[x for x in zip_longest(self.m,self.n,fillvalue=0)]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-4 22:56:43 | 显示全部楼层
高义校长 发表于 2020-4-4 22:52
非常感谢您。
https://fishc.com.cn/thread-163560-1-1.html
您这个也能解决我的问题的,就是改起来比 ...

这里也用到递归了啊,第八行,若该元素是list则递归
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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