作者jkkert (沙皮哥)
看板Python
标题[问题] 简单面试问题
时间Thu Nov 8 20:49:38 2018
listA = [0,1,2,3,4]
listB = [0,1,2,3,4]
listC = [0,1,2,3,4]
计算 (elementA * elementB) ^ elementC 返回 listD (共五个值)
我只会用很蠢的for loop
想请问版上高手高阶写法该怎麽写?
谢谢
--
jkkert:
https://imgur.com/JhKKuFX
jkkert:汪汪汪汪汪
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.146.71.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1541681383.A.324.html
1F:→ adrianshum: Zip 了再做 list comprehension 11/08 20:56
2F:→ adrianshum: result = [ (a*b)**c for a,b,c in zip(list_a, list_ 11/08 20:58
3F:→ adrianshum: b, list_c) ] 之类 11/08 20:58
谢谢回覆!
※ 编辑: jkkert (122.146.71.224), 11/08/2018 21:27:45
4F:→ djshen: 面试也不用什麽高阶写法吧 11/08 21:36
5F:推 jason860421: 用numpy的话 11/08 21:36
6F:→ jason860421: (A*B)**C 就好了 11/08 21:37
7F:→ s860134: 没分啥高阶写法 11/08 22:48
8F:→ Mchord: 这跟我帮公司出的好像啊… 11/08 23:01
9F:→ s860134: 也可以用 reduce 来达成就是了 11/08 23:22
10F:→ mikapauli: list(map(int.__pow__, 11/09 06:33
11F:→ mikapauli: map(int.__mul__, listA, listB), listC)) 11/09 06:33
12F:→ JinLime: list(map(lambda a,b,c: (a*b)**c, listA,listB,listC) 11/09 13:00
13F:→ JinLime: ) 11/09 13:01
14F:推 Angesi: 无意义 因为第一元素 (0*0)^0为不定型 故其值不存在! 11/10 08:51
15F:→ Angesi: 抱歉~ 学艺不精 其值为1正确! 11/10 14:02
17F:→ Angesi: 有兴趣的人 可以把x^x微分 可微分一定连续且极值存在 11/10 14:04
18F:推 ijoeyshow: [listA[i]*listB[i]*listC[i] for i in range(len(lis 11/12 11:08
19F:→ ijoeyshow: tA))] 11/12 11:08
20F:推 ijoeyshow: 看错哈哈 最後的运算子改成^吧 11/12 11:10