[英]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.