1

我试图查看 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]

我在 if dict1['key'][val] == dict2['key'][val] 上得到一个“TypeError:列表索引必须是整数,而不是 str”。但是,在代码的前面,我将 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 代码。

4

0 回答 0