如何获取键值对以从嵌套字典创建字典?

时间:2021-03-10 05:06:55

标签: python python-3.x

我有一本字典,如下所示。现在我需要将密钥与其对应的 path 放在一起,以便进一步使用它来根据密钥识别其插槽编号。我怎样才能做到这一点? 我尝试了一种方法,但它给了我关键错误。

2 个答案:

答案 0 :(得分:2)

您可以轻松实现:

>>> {key: value["mpath"] for key, value in multipath.items()}
{'/dev/sdh': '/dev/mapper/mpathk', '/dev/sdi': '/dev/mapper/mpathk',
 '/dev/sdg': '/dev/mapper/mpathj', '/dev/sdf': '/dev/mapper/mpathj',
 '/dev/sdd': '/dev/mapper/mpathi', '/dev/sde': '/dev/mapper/mpathi',
 '/dev/sdb': '/dev/mapper/mpathh', '/dev/sdc': '/dev/mapper/mpathh',
 '/dev/sdj': '/dev/mapper/mpathg', '/dev/sdk': '/dev/mapper/mpathg'}

答案 1 :(得分:0)

@Selcuk 使用字典理解的出色单行答案。

沿着同一条线详细阐述的将是:

mpath_dict = {}

for sd, mpath in multipath.items():
    mpath_dict[sd] = mpath['mpath']

print(mpath_dict)

由于“mpath”字典的每个值项本身就是一个字典,因此您可以像在字典中一样从中检索值。