python - 根据一个键查找多键字典的所有键

标签 python dictionary

我有一个字典,其中为每个值分配了 3 个键:dictTest[c,pH,T] = value。我想检索与给定的单个键对应的所有值:dictTest[c,*,*] = value(s)

我上网查了一下,没有找到Python的解决方案,只有C#。我尝试使用 dictTest[c,*,*] 但出现语法错误。我可以看到的另一个选项是使用多级键,即第一级为 c,第二级为 pH 等等,即 dictTest[c][ pH][T] = 值(来自 http://python.omics.wiki/data-structures/dictionary/multiple-keys)

这是一些测试代码:

dictTest={}
dictTest[1,100,10]=10
dictTest[1,101,11]=11

以下给出语法错误:

print(dictTest[1,*,*])

当尝试仅指定一个键时会出现键错误:

print(dictTest[1])

我也尝试过上面提到的多级键,但是当我尝试定义字典时它会引发语法错误:

dictTest[1][100][10]=10

在上面的示例中,我只想指定第一个键(即 key1=1),并返回字典的两个值,因为两个值的第一个键值都是 1。

谢谢, 穆斯塔法。

最佳答案

dictTest={}
dictTest[1,100,10]=10
dictTest[1,101,11]=11
dictTest[2,102,11]=12

print([dictTest[i] for i in dictTest.keys() if i[0]==1])
print([dictTest[i] for i in dictTest if i[0]==1])            #more pythonic way

#creating a function instead of printing directly
def get_first(my_dict,val):
    return [my_dict[i] for i in my_dict if i[0]==val]

print(get_first(dictTest,1))

关于python - 根据一个键查找多键字典的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58485902/

相关文章:

python - 在python中向字典添加元素?

python - 如何从每个键有多个值的字典中写入 csv 文件?

swift - 可选绑定(bind)不会解开字典

python - Psycopg2 - 返回前 1000 个结果并随机选择一个

python - 为什么我们将 nn.Module 作为参数传递给神经网络的类定义?

python - 从 PowerShell 语法错误运行 Python 脚本

python - 字典按键长排序

python - 属性错误 : can't delete attribute

python - 是否可以在 Mayavi 中禁止用鼠标旋转轴?

java - 字典数据结构+快速复杂度方法