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

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

安全解包空元組數(shù)組

安全解包空元組數(shù)組

有只小跳蛙 2021-10-26 15:44:32
行import re; print(re.findall("(.*) (.*)", "john smith"))輸出[("john", "smith")],可以像[(first_name, last_name)] = re.findall(...). 但是,在不匹配(findall返回[])的情況下,此解包會引發(fā)ValueError: not enough values to unpack (expected 1, got 0).安全解包這個元組數(shù)組的正確方法是什么,它可以在匹配 ( [("john", "smith")]) 和非匹配 ( []) 場景中工作?
查看完整描述

3 回答

?
DIEA

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

一般的答案是在跳之前先看看:


if result:

    [(first_name, last_name)] = result

或請求原諒:


try:

    [(first_name, last_name)] = result

except ValueError:

    pass

但是您實際上通過使用re.findall()來查找單個結(jié)果使事情變得過于復雜。使用re.seach()并提取您的匹配組:


match = re.search("(.*) (.*)", value)

if match:

    firstname, lastname = match.groups()

或者


try:

    firstname, lastname = re.search("(.*) (.*)", value).groups()

except AttributeError:

    # An attribute error is raised when `re.search()` returned None

    pass


查看完整回答
反對 回復 2021-10-26
?
鳳凰求蠱

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

一般的答案是在跳之前先看看:


if result:

    [(first_name, last_name)] = result

或請求原諒:


try:

    [(first_name, last_name)] = result

except ValueError:

    pass

但是您實際上通過使用re.findall()來查找單個結(jié)果使事情變得過于復雜。使用re.seach()并提取您的匹配組:


match = re.search("(.*) (.*)", value)

if match:

    firstname, lastname = match.groups()

或者


try:

    firstname, lastname = re.search("(.*) (.*)", value).groups()

except AttributeError:

    # An attribute error is raised when `re.search()` returned None

    pass


查看完整回答
反對 回復 2021-10-26
?
收到一只叮咚

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

由于re.findall回報不匹配的情況下,空列表,你可以使用or運營商默認值分配給first_namelast_name替代:

[(first_name, last_name)] = re.findall("(.*) (.*)", "johnsmith") or [(None, None)]


查看完整回答
反對 回復 2021-10-26
  • 3 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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