繁体   English   中英

列表python中的重复项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM