[英]How to check if key exist in data, if exist then do for loop else ignore using list comprehension in python
我有包含鍵和值的數據(字典格式),我想使用列表理解來顯示該數據。
數據 = {'會員':'會員類型'}
注意:每個配置文件的數據不同(例如:會員資格僅適用於少數用戶。)
嘗試 1:
memberships = [data['memberships'][mem] for mem in data['memberships']]
print(memberships)
上面的代碼適用於擁有會員資格的用戶。 如果成員資格不存在,它將拋出一個 KeyError。
嘗試2:
memberships =[data['memberships'][mem] for mem in data['memberships'] if 'memberships' in data]
嘗試3:
memberships=[data['memberships'][mem] if "memberships" in data else '' for mem in data['memberships']]
我嘗試過但所有嘗試都失敗了 KeyError 。 我想檢查會員資格(密鑰)是否存在我將循環並顯示它否則忽略
您始終可以使用 if 語句:
if 'membership' in data.keys():
memberships = [data['memberships'][mem] for mem in data['memberships']]
print(memberships)
else:
#Do something else if you wish
pass
另一種選擇(如果它更適合您的代碼)是使用 try 和 except,盡管我懷疑您是否需要這種方法:
try:
#Will try to execute this code
memberships = [data['memberships'][mem] for mem in data['memberships']]
print(memberships)
except:
#If a KeyError occurs, the try block will stop and this part of the code will execute
pass
希望這可以幫助! 如果您對我的回答有任何疑問,請隨時提問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.