检查字典值是否在字符串中,output = key

时间:2015-10-04 17:25:42

标签: python string list dictionary python-3.4

Python 3.4

我们说我有一本字典:

If String.Compare(log, RichTextBox1.Text, True) = 0 Then

我也有一个字符串:

dict = { "one" : ["abcdefg", "hij"], "two" : ["klmnopq"], "three" : ["rstuvwx", "zyx"] }

......其中" X"代表其他随机不重要的字母。

我想检查字典的VALUE是否在字符串中(例如,如果" hij"可以在String中找到),如果是,那么我想要一个创建列表的输出字符串中找到的所有不同项目。

这样的事情:

string = "XXXabcdefgXXXhijXXXXXklmnopqXXXXXXzyxXXXXzyxXXXXX" 

获得此类结果的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

你非常接近,你的逻辑是正确的,只是错过了循环。

在外部循环中,您需要遍历字典中的键。

for key in dict.keys():

在内部循环中,您需要循环遍历值列表中的每个元素。

for value in dict[key]:

以下是完整代码:

key_list = []
for key in dict.keys():
    for value in dict[key]:
        if value in string:
            key_list.append(key)
print(key_list)

另外需要注意的是,词典没有订单,因此您的结果不会按照您的预期排序。