比较2个不同词典中特定键的值,看它们是否相等

时间:2013-05-16 21:52:57

标签: python dictionary key compare typeerror

我试图查看2个不同词典中特定键的值是否相等(它们在特定时间)。如果是这样,我想打印两个字典值。如果没有,我只想打印dict2值。应该注意的是,键是两个不同的字符串,但我只想比较那些特定键的值。


代码的一般概念

for key1,val in enumerate(dict1):
    KEY1printed=False
    for key2,val in enumerate(dict2):
        if dict1['key1'][val] == dict2['key2'][val]:
            if KEY1printed == False:
                print dict2['key2'][val], dict1['key1'][val]
                KEY1printed=True
            else:
                print dict2['key2'][val]

我得到一个" TypeError:列表索引必须是整数,而不是str"在if dict1 [' key'] [val] == dict2 [' key'] [val]。但是,在代码的早期,我将val作为整数附加到字典键中(参见下面的代码示例)。我不知道该怎么办这个问题。有什么建议吗?


val append的代码示例

for line in indocument:
    val=line.split(",")
    dict1['key1'].append(int(val[2]))
    dict2['key2'].append(int(val[0]))

我一直遇到类型问题,因为当我将它从一般格式更改为数字时,microsoft excel 2010程序不会保存单元格格式。当我在openoffice中打开文件时,单元格格式保存,但我的文件中有太多行,所以我必须拆分我的文档。我不介意这样做,但我认为它可能会搞乱我的python代码。

0 个答案:

没有答案