python - 从值中获取键(值位于列表中)

标签 python python-3.x dictionary

我有这样的字典

my_dict={'0':['A','B','C'],'1':['D','E','F']}

如果值是列表,如何使用其中一个值访问 key ?

最佳答案

你可以试试这个:

>>> def corresponding_key(val, dictionary):
        for k, v in dictionary.items():
            if val in v:
                return k

>>> corresponding_key("A", my_dict)
'0'
>>> corresponding_key("B", my_dict)
'0'
>>> corresponding_key("C", my_dict)
'0'
>>> corresponding_key("D", my_dict)
'1'
>>> corresponding_key("E", my_dict)
'1'
>>> corresponding_key("F", my_dict)
'1'
>>> 

但是,如果一个值存在于多个字典值列表中,则可以修改该函数:

>>> def corresponding_keys(val, dictionary):
        keys = []
        for k, v in dictionary.items():
            if val in v:
                keys.append(k)
        return keys

或者,您可以使用列表理解:

>>> val = "A"
>>> dictionary = my_dict
>>> [k for k, v in dictionary.items() if val in v]
['0']

关于python - 从值中获取键(值位于列表中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66724197/

相关文章:

python - Django:命名 URL/相同模板,不同命名 URL

python - python Flask 中的模块化路线

python - 将 Plone 2 root 重定向到新域

python - Python 中的时序模幂运算 : syntax vs function

c++ - 如何使用 Rcpp 将映射<double,T> 从 C++ 传递到 R

c# - Dictionary<StudentType, List<Student>> 到 IDictionary<StudentType, IList<Student>>?

python - sympy v1.0 factor 是否给出了 (2*4) + (2*4)/(2 + x) 的错误答案?

python - 使用 python 在句子列表中形成单词的二元组并计算二元组

python - 无法导入同一目录中的其他文件

python - 在 python 中是否有相当于 'map' 的就地等效项?