Skip to main content
 首页 » 编程设计

python之如何在 python 中返回多维字典的关联键和值

2025年05月04日12Terrylee

我有以下字典

myDict={('A','X'): 1.0, 
        ('B','Y'): 0.4, 
        ('B','Z'): 0.6, 
        ('C','X'): 0.1, 
        ('C','Y'): 0.3,         
        ('C','Z'): 0.6, 
 } 

我需要与第一个键关联的列表。例如:

1) 如果我提供第一个键 'A' 我想得到 list1=['X'] 和 list2=[1.0]

2) 如果我提供第一个键 'B' 我想得到 list1=['Y','Z'] 和 list2=[0.4,0.6]

3) 如果我提供第一个键 'C' 我想得到 list1=['X','Y','Z'] 和 list2=[0.1,0.3,0.6]

根据我提供的第一个 key ,我只需要上面提供的三种情况中的一种。

编辑:我的字典来自这个 question 的答案

有没有可能以一种简单的方式做到这一点?也许使用列表理解,但我无法做到这一点......

请您参考如下方法:

如果你不想改变字典结构-

list2 = [val for ((key1, key2), val) in myDict.items() if key1=='A'] 
list1 = [key2 for ((key1, key2), val) in myDict.items() if key1=='A'] 

那应该行得通。不过,这并不是为此用途存储数据的最有效方式。

您可以在“A”所在的位置放置一个具有所需键的变量。