Ich stieß auf eine Frage, die jemand list3 = [1, 0, 1, 0, 0]
für list1 = [0, 1, 0, 0, 1
erzeugen wollte] und list2 = [0, 1, 0, 1, 1]
.Alternative Liste-Verständnis
Wenn man zip(list1, list2)
daher nur zip(0, 0)
würde 1
für list3
erzeugen würde.
Ich möchte den nachfolgenden Code durch eine Liste Verständnis ausdrücken:
L3 = []
for x in zip(L1, L2):
if sum(x) == 0:
L3.append(1)
else:
L3.append(0)
print L3
ich die gleiche Ausgabe Verständnis mithilfe dieser Liste erhalten können:
print [int(sum(x)==0) for x in zip(L1, L2)]
Ich mag möchte wissen, ob es eine Möglichkeit, die if/else-Bedingung des ursprünglichen Codeblocks in einem Listenverständnis wörtlicher auszudrücken. Ich kann verstehen, dass diese Frage als überflüssig betrachtet werden könnte, da die if/else-Bedingung natürlich enthalten ist, aber die veröffentlichten Alternativen könnten für mich sehr nützlich sein.