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

Python 比较两个不同字典中特定键的值,看看它们是否相等,python,dictionary,key,compare,typeerror,Python,Dictionary,Key,Compare,Typeerror,我试图看看两个不同字典中特定键的值是否相等(在某些时候是相等的)。如果是这样,我想打印两个字典值。如果没有,我只想打印dict2值。应该注意的是,键是两个不同的字符串,但我只想比较这些特定键的值 代码的总体思想 for key1,val in enumerate(dict1): KEY1printed=False for key2,val in enumerate(dict2): if dict1['key1'][val] == dict2['key2'][va

我试图看看两个不同字典中特定键的值是否相等(在某些时候是相等的)。如果是这样,我想打印两个字典值。如果没有,我只想打印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]

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


valappend的代码示例

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


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

是否应该是
dict['key']
?(没有val索引)另外,
key1
key2
是变量还是字符串?键应该是什么类型?两个字典中的键是不同的字符串(ex/'key1'和'key2')。如果我说“如果dict1['key1']==dict2['key2']:”,它们不会因为键的字符串不同而永远相等吗?也许我只是不明白字典是怎么工作的。我想看看这两个不同字典中的两个不同键('key1','key2')的值(val)是否相等。不,这样可以,
dict['key1']
只输出值。它是由字符串索引的,就像您有一个由数字索引的普通数组一样,
array[0]
只会在位置0.5处输出值。我明白你的意思。每个键都附有一个列表,而不是一个值。很抱歉。如何比较2字典键中的每个列表?