如何在python中为字典使用“issubset”

2024-04-19 20:28:00 发布

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

我有一本字典A,还有一个列表B。如果Bsubset A.values(),我想从A字典中获取密钥?在

A={1: 'jendela', 2: 'jendela', 3: 'kursi', 4: 'meja', 5: 'pintu', 6: 'payung'}
B=set(['jendela','kursi'])
c=[[1,3],[2,3]]

>> B.issubset(A.values())
>> True

但是我如何得到列表CC是输出示例,如果我有dictionaryA和listB


Tags: true示例列表字典密钥valuessubsetset
1条回答
网友
1楼 · 发布于 2024-04-19 20:28:00

如果我理解正确,您希望生成字典A中所有键集的列表,它将查找集合B中的所有值。在

您需要的第一件事是列出您需要的每个值的键。为此,我认为您确实想反转您的A映射。不是从数字映射到字符串,而是从字符串映射到数字列表:

A = {1: 'jendela', 2: 'jendela', 3: 'kursi', 4: 'meja', 5: 'pintu', 6: 'payung'}

A_reversed = collections.defaultdict(list)
for number, string in A.items():
    A_reversed[string].append(number)

现在,使用itertools.product将所需列表组合在一起:

^{pr2}$

这个结果是一个生成器,如果您需要一个列表,请使用list(result_gen)(或者在上面的行中包含一个list调用)。在

如果B中的某个值在A中没有显示为值,则会得到空结果。在

相关问题 更多 >