我有以下字典
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”所在的位置放置一个具有所需键的变量。
