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

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

我想從一個(gè) lambda 返回兩個(gè)值并分配給另一個(gè),但我得到了錯(cuò)誤

我想從一個(gè) lambda 返回兩個(gè)值并分配給另一個(gè),但我得到了錯(cuò)誤

動漫人物 2023-02-15 17:24:15
我曾嘗試使用以下方法將值返回給 a 和 b(lambda a,b:print(a,b))((lambda x:(x,[int(i)**len(x) for i in x]))('153'))但這顯示錯(cuò)誤,我需要一些幫助來解決這個(gè)問題。TypeError: <lambda>() missing 1 required positional argument: 'b'
查看完整描述

2 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

內(nèi)部函數(shù)返回一個(gè)包含兩個(gè)值的元組,但外部函數(shù)需要兩個(gè)單獨(dú)的值。使用*-unpacking將元組的每個(gè)值作為單獨(dú)的參數(shù)傳遞:


#       v takes two parameters     v provides one tuple of two values

(lambda a,b:print(a,b))(*(lambda x:(x,[int(i)**len(x) for i in x]))('153'))

#                       ^ unpack operator

請注意,它print已經(jīng)采用了位置參數(shù)——(lambda a,b:print(a,b))可以只替換為print. 此外,Python3.8 引入了:=賦值運(yùn)算符,它通??梢杂脕泶?alambda來模擬let表達(dá)式。這顯著縮短了表達(dá)式:


# v print takes multiple arguments

print(*(x := '153', [int(i)**len(x) for i in x]))

#         ^ assignment operator binds in current scope


查看完整回答
反對 回復(fù) 2023-02-15
?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

使用給定的結(jié)構(gòu)發(fā)布了正確答案。但是,我想不出像您那樣使用兩個(gè) lambda 會有用的情況。定義一個(gè)函數(shù)將使代碼更具可讀性:


def print_values(string):

    values = [int(i)**len(string) for i in string]

    print(string, values)


print_values("153")

或者如果你想讓它更短:


def print_values(string):

    print(string, [int(i)**len(string) for i in string])


print_values("153")


查看完整回答
反對 回復(fù) 2023-02-15
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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