我试图查看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代码。