从Python中的字典列表中获取值列表

问题描述 投票:0回答:2

我用以下格式创建了一个字典,其中包含键和与每个键关联的属性列表:

inputDatasets = {
    "data1": ["Path to data 1", "Attribute1", "Attribute2", "Attribute3"],
    "data2": ["Path to data 2", "Attribute1", "Attribute2", "Attribute3"],
}

我想获得字典中包含的所有“Attribute2”的列表。现在我使用:

attr2 = []
for a, b in inputDatasets.items():
    attr2.append(b[2])

但有更优雅的方式吗?

python dictionary
2个回答
3
投票

您可以使用列表推导,仅通过值而不是键值对进行循环:

attr2 = [b[2] for b in inputDatasets.values()]

或者,但不是那么优雅,带有maplambda可能很有用:

attr2 = list(map(lambda b:b[2], inputDatasets.values()))

0
投票

你也可以这样做

attr2 = [v[2] for v in inputDatasets.values()]
© www.soinside.com 2019 - 2024. All rights reserved.