0

ファイル比較プログラムをコーディングしただけで、この問題が発生しました。なぜこれが起こっているのか理解できません。問題をグーグルで検索するのに最善を尽くしましたが、それは少し難しいです。このコードを実行すると:

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

filehashesinphashesは両方ともstr のリストのリスト(つまり[['honk','donk'],['bonk','ponk']]) です。

そして、それは と の予想される内容filehashes[a][1]ですinphashes[b][1]。明らかに、それらは実際には互いに等しくありません ( 'ee...' != 'ef...')。一体何がこれを引き起こしているのでしょうか。どうすれば修正できますか?

4

2 に答える 2

1

if 条件はfilehashes[a][1] ==filehashes です[b][1]が、印刷行はprint(filehashes[a][1] + ' == ' +inphashes です[b][1])。違いに注意してください。私はあなたが何を求めているのか明確ではありません。これが答えだと思います。そうでない場合は、これについてコメントしてください。その後、この回答を削除します。

于 2013-11-11T13:57:05.487 に答える