我不知道爲什麼我得到一個語法錯誤,這個理解錯誤的語法時才使用,而使用詞典列表理解
[mydict[k] for mydict in dlist if k in mydict else 'NOT PRESENT']
錯誤是非常通用的「語法錯誤 - 無效語法」
一個更簡化的聲明似乎工作正常
[mydict[k] for mydict in dlist]
有人可以告訴我是什麼原因造成的問題?
在此先感謝
我不知道爲什麼我得到一個語法錯誤,這個理解錯誤的語法時才使用,而使用詞典列表理解
[mydict[k] for mydict in dlist if k in mydict else 'NOT PRESENT']
錯誤是非常通用的「語法錯誤 - 無效語法」
一個更簡化的聲明似乎工作正常
[mydict[k] for mydict in dlist]
有人可以告訴我是什麼原因造成的問題?
在此先感謝
的的if/else和對需要進行交換:
[mydict[k] if k in mydict else 'NOT PRESENT' for mydict in dlist]
您可以通過使用get(k[,d])
縮短這個:
[mydict.get(k, 'NOT PRESENT') for mydict in dlist]
的的if
片段列表理解是而不是三元表達式的一部分。
[mydict[k] if k in mydict else 'NOT PRESENT' for mydict in dlist]
這是否意味着我不能在列表解析中使用if-else作爲過濾器,但只有在? – BobLoblaw
在列表理解的那一部分,是的。 –
您是否嘗試刪除其他'NOT PRESENT'?我不認爲這是一個有效的語法。 – sashkello
'k'在哪裏設置?在列表理解之外? – Marius
你不能在列表理解中使用其他類似的東西 –