我有一个Python字典,如:
Mydict = {'a':{'y':1,'x':5},'b':{'y':10,'x':8}}
有没有快速方法来访问与键对应的值:'x',在这种情况下是二级键,而不管第一级键?
我知道可以使用for循环来完成:
mylist=[]
for k in Mydict.keys():
mylist.append(Mydict[k]['x'])
Run Code Online (Sandbox Code Playgroud)
但它有什么快速的一线方法吗?
mylist = [v['x'] for v in Mydict.values()]
Run Code Online (Sandbox Code Playgroud)
由于您不需要外键,因此只需迭代内部词,即可获得所需的'x'
值.
注意:这只有在每个内部字典都有'x'
密钥时才有效,并且为了最大限度地减少错误,您可以这样做:
mylist = [v.get('x', None) for v in Mydict.values()]
Run Code Online (Sandbox Code Playgroud)
这将起相同作用,只有'x'
在字典中没有键时,它才会返回None
而不是KeyError
异常.
对于时间安排,以及看哪种方法最好,请看Thorsten Kranz的答案