2

我有一个从 MySql DB 获取的字典,ID 是键,值是字符串(确切地说是文件的相对 Windows 路径)。我有另一个列表,其中包含 Windows 路径作为元素。现在,我需要将列表元素与字典值匹配,如果找到完全匹配,我需要检索该元素的键,如果不存在,我将在数据库中更新

我当前的代码:

for line in f1:
        line = line.strip()
        try:
            index = next(k for (k,v) in self.db_file_list.iteritems() if line in v)
            file_list_csv.append(index)

这里的问题是:假设我的字典中的值是“abc def”、“a/b/c”,那么如果我搜索值“abc”或“a/b”它仍然会匹配并给我键值,这不是什么我想要。

请帮帮我,我是 Python 的新手。提前谢谢了!

~索拉夫

4

1 回答 1

0

如果您唯一的问题是您也将匹配子字符串匹配项,那么替换line in vline == v就足够了(注意==在这种情况下使用,而不是is:is进行身份比较,而==只是比较值)。

于 2013-06-11T12:16:32.450 回答