你能在Python列表理解中嵌入一下吗?

Cam*_*n26 3 python dictionary python-3.x

反正有没有相应的这个?

my_list = [try: my_dict["some_key"] except KeyError: 0 for my_dict in my_list]
Run Code Online (Sandbox Code Playgroud)

由于字典抛出KeyErrors,如果列表中的元素没有"some_key"属性,我想捕获错误.我知道我可以通过导入集合并回避异常来创建一个defaultdict,但我想知道这是否可以使用开箱即用的字典.

zon*_*ndo 6

不,你不能.你只能放置for循环,if's和else's.

但是,你可以做的是使用.get(),它永远不会引发KeyError:

my_list = [my_dict.get("some_key", 0) for my_dict in my_list]
Run Code Online (Sandbox Code Playgroud)

第二个参数是密钥不存在时的默认值.如果未指定默认值,则默认默认值为"无".