[問題] 簡單面試問題

看板Python作者 (沙皮哥)時間5年前 (2018/11/08 20:49), 5年前編輯推噓4(4016)
留言20則, 9人參與, 5年前最新討論串1/1
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://www.ptt.cc/bbs/Python/M.1541681383.A.324.html

11/08 20:56, 5年前 , 1F
Zip 了再做 list comprehension
11/08 20:56, 1F

11/08 20:58, 5年前 , 2F
result = [ (a*b)**c for a,b,c in zip(list_a, list_
11/08 20:58, 2F

11/08 20:58, 5年前 , 3F
b, list_c) ] 之類
11/08 20:58, 3F
謝謝回覆! ※ 編輯: jkkert (122.146.71.224), 11/08/2018 21:27:45

11/08 21:36, 5年前 , 4F
面試也不用什麼高階寫法吧
11/08 21:36, 4F

11/08 21:36, 5年前 , 5F
用numpy的話
11/08 21:36, 5F

11/08 21:37, 5年前 , 6F
(A*B)**C 就好了
11/08 21:37, 6F

11/08 22:48, 5年前 , 7F
沒分啥高階寫法 
11/08 22:48, 7F

11/08 23:01, 5年前 , 8F
這跟我幫公司出的好像啊…
11/08 23:01, 8F

11/08 23:22, 5年前 , 9F
也可以用 reduce 來達成就是了
11/08 23:22, 9F

11/09 06:33, 5年前 , 10F
list(map(int.__pow__,
11/09 06:33, 10F

11/09 06:33, 5年前 , 11F
map(int.__mul__, listA, listB), listC))
11/09 06:33, 11F

11/09 13:00, 5年前 , 12F
list(map(lambda a,b,c: (a*b)**c, listA,listB,listC)
11/09 13:00, 12F

11/09 13:01, 5年前 , 13F
)
11/09 13:01, 13F

11/10 08:51, 5年前 , 14F
無意義 因為第一元素 (0*0)^0為不定型 故其值不存在!
11/10 08:51, 14F

11/10 14:02, 5年前 , 15F
抱歉~ 學藝不精 其值為1正確!
11/10 14:02, 15F

11/10 14:03, 5年前 , 16F
11/10 14:03, 16F

11/10 14:04, 5年前 , 17F
有興趣的人 可以把x^x微分 可微分一定連續且極值存在
11/10 14:04, 17F

11/12 11:08, 5年前 , 18F
[listA[i]*listB[i]*listC[i] for i in range(len(lis
11/12 11:08, 18F

11/12 11:08, 5年前 , 19F
tA))]
11/12 11:08, 19F

11/12 11:10, 5年前 , 20F
看錯哈哈 最後的運算子改成^吧
11/12 11:10, 20F
文章代碼(AID): #1Rv33dCa (Python)