[英]repeated items in a list python
我有一本庞大的字典(如数据库),我想在其中找到一些特定信息。 让我们将巨大的数据库称为A。如果AI内有一个特定数量的新列表,则希望打印一些信息。 这就是我正在做的事情(过于简单):
A = {info1:34, info2:4, info3:-34, info4:2,.......}
b = [1, 2, 3, 4, 5, 6, -1, -2, -3, -4, -5, -6]
for i,j in A.iteritems():
if j in b:
print b, i
看起来似乎正在运行,但是对结果进行了更好的了解之后,我意识到该代码仅会打印发现的第一个巧合。 我如何更改它以获取数据库中的所有巧合。
谢谢你的帮助!!!!
据我了解,您正在尝试的是过度杀伤力。 这是一个利用dict
实际上是哈希的事实的解决方案:
for item in b:
if item in A:
print A[item]
编辑 :从您的编辑看来,键和值是互换的。 你为什么做这个? 也许这是一个更好的主意来切换他们,让我的上述解决方案的工作(这是更有效的 ,而你只需要一次做开关)。 如果您需要多个相同的键,则可以使用MultiDict
,例如paste.util.multidict.Multidict
,可通过pip install paste
当您说“我意识到代码只打印出它发现的第一个巧合”时,听起来好像您希望代码为同一个键返回多个匹配项。 Python的字典具有唯一的键,因此这是不可能的(并且实际上没有任何意义)。 如果您尝试使用相同的键存储多个值,则只会破坏以前的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.