这是一个我正在尝试做的简单的场景。我有两本字典:

dictA = {"apple": 1, "orange": 2, "chocolate": 3, "mango": 4}
dictB = {"man": "abc", "or": "asdf", "app": "fasdfkl"}

如何打印(三个键+值的实际顺序无关紧要):
I can find...
orange2
mango4
apple1

I cannot find...
chocolate3

我试过做这样的事,但在第二部分就卡住了。
print "I can find ..."
for itemA in dictA:
    for itemB in dictB:
        if itemA.startswith(itemB):
            print itemA + str(dictA[itemA])

它会打印出来
I can find ...
orange2
mango4
apple1

最佳答案

首先将第一个循环简化为

print "I can find ..."
for itemA in dictA:
    if any(itemA.startswith(itemB) for itemB in dictB):
        print itemA + str(dictA[itemA])

第二个循环将使用if not any(...)
这不是一个非常有效的算法,但我想你只是在做一个练习

07-24 09:52