从列表嵌套字典返回多个值

2024-09-25 14:21:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从列表嵌套字典中检索特定键的值。如何将多个键传递到过滤器

lst = [{'KeyA': 'Vxx', 
         'KeyB': 'Vyy', 
         'KeyC': 'Vzz'}]

val = [i['KeyA'] for i in lst if 'KeyA' in i]

print(val)

期望的结果是检索特定的键['KeyB', 'KeyC'],并另外变形为数据帧

lst_result = [KeyB:Vyy, KeyC:Vzz]

data_frame = 
   KeyB  KeyC
0  Vyy   Vzz

Tags: in过滤器列表forif字典valprint
2条回答

IIUC,你只需要:

specific_keys = ['KeyB','KeyC']
pd.DataFrame(lst)[specific_keys]

输出:

   KeyB KeyC
0   Vyy  Vzz

考虑到您需要这些值,您可能需要直接找到它们:

TargetKeys = ['KeyB','KeyC']
lst_result = {}
for den in lst:
    for akey in den.keys():
        if akey in TargetKeys:
            lst_result[den[akey]] = den['Value']
            break
print(lst_result)

然后df = pd.DataFrame(lst_result)将预先为您提供数据帧

相关问题 更多 >