gpt4 book ai didi

python - 使用列表理解根据值从字典中获取键会返回空列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:45 25 4
gpt4 key购买 nike

我有一本以下形式的字典

{'D': ['A', 'B'], 'C': ['a'], 'B': ['b'], 'A': ['a'], 'S': ['C', 'D']}

我可能有两个列表作为输入,即 ['A', 'C']['B']。我想获取这些列表元素的所有组合,这里 ['A' , 'B'], ['C', 'B'] 并查看它们是否在我的原始字典中并且如果是,则返回找到 key 的位置。

为此,我创建了以下两个函数

def func1(r1, r2):
return [[func2([outer, inner]) for inner in r2] for outer in r1]


def func2(r):
return [key for key, val in my_dictionary.items() if r in val]

所以我可以将它们称为 func1(list1, list2) 并且我希望在这里得到 D 因为它包含列表 ['A' , 'B'],但我返回的是空列表。

我在上面的函数中搞砸了什么?

最佳答案

你的问题是语句... if r in val。它可能应该是 ... if r == val。在您的情况下,值 val 将类似于 ['A', 'B'],有时也会是 r

in 检查 val 的元素是否为 r,这显然永远不会为真。 == 比较两个列表中的所有元素,这正是您想要的。

关于python - 使用列表理解根据值从字典中获取键会返回空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44096600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com