Python3从值中获取密钥?

2024-10-01 09:32:47 发布

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

这似乎是一个常见的问题,但我似乎找不到解决办法。在

我有一个Python3脚本,包含两个字典sqldict和{}。如果sqldict[value][0] == hitsdict[thing][1],则此代码输出字典值。在

for value in sqldict:
        for thing in hitsdict:
            if sqldict[value][0] == hitsdict[thing][1]:
                print(hitsdict[thing][1],sqldict[value][5])

我还想获得与匹配sqldict[value][0] == hitsdict[thing][1]比较的值相关联的键,但是我似乎不知道如何获得关联的键?我试着做这样的事情:

^{pr2}$

有谁能解释一下我的问题是什么,以及我如何从通过if sqldict[value][0] == hitsdict[thing][1]比较的值中获取键?谢谢您!在

编辑: 我的一个想法是将密钥作为附加值添加。还有其他更像Python的方式吗?在


Tags: 代码in脚本forif字典value事情
3条回答

字典查找是“按键”而不是“按值”

>>> d = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
>>> for key in d:
...     print key
... 
key3
key2
key1

对不起,我想不出别的答案了,只能说“你在做荣!”在

你可以用我称之为“反向字典”。 我的想法是,创建两个字典:

dict1 = {key1: value1, key2: value2, ...}
dict1_inv = {value1: key1, value2: key2, ...}

现在,您可以快速获得与每个键关联的值,以及与每个值关联的inverse:key。在

我不知道这是不是“Python”,但据我所知,应该能解决你的问题。在

通过循环字典中的项来查找值。那是错误的方式。这本词典的全部目的是用这些键来查东西。在

简而言之,你的数据结构完全是一团糟。因为我们不知道它的外观,所以我们不能告诉您它应该是什么样子,但是另一方面,在其中一个值中有一个单词“sql”。在

我建议您使用SQL查询来做任何事情吗?在

相关问题 更多 >