繁体   English   中英

如何从字典列表中提取键和值?

[英]How to extract the the key and values from list of dictionary?

如何从字典列表中提取键和值?

下面是我的数据,我想从字典列表中提取键和值。

data = [{'index': 0,
      'MaterialCode': '67567412',
      'DP_Category': 'HAIR CARE'},
      {'index': 1,
      'MaterialCode': '67567412',
      'DP_Category': 'HAIR CARE'}]

keys = []
for d in data:
    keys += list(d.keys())

values = []
for d in data:
    values += list(d.values())
data = [
    {"index": 0, "MaterialCode": "67567412", "DP_Category": "HAIR CARE"},
    {"index": 1, "MaterialCode": "67567412", "DP_Category": "HAIR CARE"},
]

for idx, elem in enumerate(data):
    for key, value in elem.items():
        print(f"List element: {idx:>2} Key: {key:<20} Value: {value}")

output

List element:  0 Key: index                Value: 0
List element:  0 Key: MaterialCode         Value: 67567412
List element:  0 Key: DP_Category          Value: HAIR CARE
List element:  1 Key: index                Value: 1
List element:  1 Key: MaterialCode         Value: 67567412
List element:  1 Key: DP_Category          Value: HAIR CARE

如果要显示所有键和值,则需要两个嵌套for循环:

  • 首先从列表中获取字典,
  • 其次从字典中获取键和值。

有人这样想:

data = [
    {'index': 0, 'MaterialCode': '67567412', 'DP_Category': 'HAIR CARE'},
    {'index': 1, 'MaterialCode': '67567412', 'DP_Category': 'HAIR CARE'}
]

for item in data:
    for key, val in item.items():
        print(f'{key}: {val}')

结果:

index: 0
MaterialCode: 67567412
DP_Category: HAIR CARE
index: 1
MaterialCode: 67567412
DP_Category: HAIR CARE

如果你需要不同的东西,那么你必须有问题地描述它。

你可以使用这个方法dist.items()来提取所有的键和值。 例如,假设您要从中提取的 dict

for k, v in dict.items():
 print(k,v) #you can get a couple of key and value
data = [{'index': 0,
      'MaterialCode': '67567412',
      'DP_Category': 'HAIR CARE'},
      {'index': 1,
      'MaterialCode': '67567412',
      'DP_Category': 'HAIR CARE'}]

print(data[0]["MaterialCode"])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM