0
我有以下模式:修正了字典理解的錯誤
episodes = {key: value for key, value in
item_data['seasons'][season_id]['episodes'].items()
if (item_data['seasons'][season_id].get('episodes') and key.isdigit())}
不幸的是,有時'episodes'
,將是空的,引起以下錯誤:
KeyError: 'episodes'
什麼將是一個優雅的方式來修復上面的問題?我目前的解決方案具有以下功能:
episodes = {key: value for key, value in item_data['seasons'][season_id].get('episodes')
if item_data['seasons'][season_id].get('episodes')}
episodes = {key: value for key, value in item_data['seasons'][season_id]['episodes'].items()
if key.isdigit()}
我會不會在這裏使用的理解。 – taesu
我也不會 - 我會將內容分配給一個變量,然後迭代它的鍵並刪除任何非數字。否則,我會使用'filter'。 –
雖然這不是問題:) OP要求我們指出他們的詞典理解中的錯誤,所以這就是我所做的。 –