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"
获得此类结果的最佳方式是什么?
答案 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)
另外需要注意的是,词典没有订单,因此您的结果不会按照您的预期排序。