第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不使用內(nèi)置地圖或星圖的情況下編寫類似星圖的函數(shù)?

如何在不使用內(nèi)置地圖或星圖的情況下編寫類似星圖的函數(shù)?

Helenr 2021-11-30 15:53:13
這是任務(wù):創(chuàng)建一個函數(shù)my_map_k,該函數(shù)采用函數(shù) f 和 k 列出 L 1 ,...,L k,對于任意 k ≥ 1,并返回列表 [f(L 1 [0],...,L k [ 0]),...,F(xiàn)(L 1 [N-1],...,L ? [N-1])],其中n是最短的長度L我列表。暗示。使用 Python 的*符號來處理任意數(shù)量的列表作為參數(shù)。例子:my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])應(yīng)該返回[6, 28]。這是我已經(jīng)走了多遠(yuǎn),但我被卡住了。def my_map_k(f, *L):     n = len(min(*L, key=len))     x=0     while x < n:             return [f(*L[x],) for x in L]     my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])問題是,我不能只說有 3 個列表,因為可能還有更多。此外,我看不到如何從所有三個列表中取出第一個元素。
查看完整描述

3 回答

?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

您可以使用依次從每個列表中zip()獲取第n個元素,以及一個列表推導(dǎo)式,以使用如此生成的每組參數(shù)調(diào)用提供的函數(shù):

def my_map_k(f, *lists):
    return [f(*args) for args in zip(*lists)]

這是在行動:

>>> my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])
[6, 28]


查看完整回答
反對 回復(fù) 2021-11-30
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

我想到了:


def my_map_k(f, *L):

    z = zip(*L)

    l = list(z)

    return ([f(*x) for x in l])


my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])


查看完整回答
反對 回復(fù) 2021-11-30
?
月關(guān)寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

沒有輔助函數(shù)的解決方案:


from operator import add


def my_map_k(f, *L):

    ind = 0

    while True:

        try:

            yield f(*[l[ind] for l in L])

        except IndexError:

            break

        else:

            ind += 1


result = my_map_k(add, range(5), range(5))

print(list(result))

# [0, 2, 4, 6, 8]


查看完整回答
反對 回復(fù) 2021-11-30
  • 3 回答
  • 0 關(guān)注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號