【发布时间】:2013-11-11 13:51:42
【问题描述】:
刚刚编写了一个文件比较程序,就遇到了这个问题。我什至无法理解为什么会这样。我尽我所能去谷歌搜索这个问题,但这有点难。当这段代码运行时:
while a < len(filehashes) and b < len(inphashes):
if filehashes[a][1] == filehashes[b][1]:
print(filehashes[a][1] + ' == ' + inphashes[b][1])
a += 1
b += 1
else:
print('Inconsistency error')
我得到这个输出:
ee53f15519619c51f205553c828e7546 == ef53f15519619c51f205553c828e7546
filehashes 和 inphashes 都是 str 列表列表(即[['honk','donk'],['bonk','ponk']])。
虽然这是filehashes[a][1] 和inphashes[b][1] 的预期内容。它们显然实际上并不相等('ee...' != 'ef...')。到底是什么原因造成的,我该如何解决?
【问题讨论】:
标签: python string list if-statement compare