Vergleich der Liste mit cmp oder ==
Habe ich zwei list
die jeweils aus einer Datei gelesen.
Sollte ich cmp(list1,list2)
oder (list1 == list2)
?
#! /usr/bin/env py
data = None
with open("sample",'r+') as f:
data = f.readlines()
data[-1] = "abhishe"
data_1 = None
with open("cp.log",'r+') as f:
data_1 = f.readlines()
data_1[-1] = "Goswami"
print "\n\n\n"
print data == data_1
print cmp(data,data_1)
cmp()
entfernt wurde in py3.x. Und warum sind Sie die Initialisierung der Variablen in python?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie nur sehr selten benutzen müssen
cmp
.cmp
hat die gleiche Wirkung wie die Prüfung<
,==
und>
, aber es ist weniger gut lesbar.In Ihrem Fall, verwenden Sie
==
wie es wird deep Liste der Gleichheit testen.Wenn Sie interessiert sind, nur Ihre Gleichheit, dann würde ich sagen, verwenden Sie den Gleichheitsoperator
==
.Den
cmp()
Funktion gibt etwas anderes info, wie in der Dokumentation beschrieben:In deinem Fall, das "erwartete" Ergebnis wäre gleich null, ein falsy-Wert, der ist nicht intuitiv, wenn man eigentlich testen auf Gleichheit.