Python Liste vergleichen?
Moin zusammen,
ich stehe vor der Aufgabe "Schere, Stein, Papier" auszuwerten.
Ich habe dafür die 2 Dateien mit den Spielzügen bereits in Listen umgewandelt.
Nun möchte ich jedes Element der Listen vergleichen.
z.B. : Element aus Liste "moves" mit dem Index[0] == Element aus Liste "moves" mit Index [0]
Wenn die 2 Elemente übereinstimmen, sollen diese gezählt werden. Bspw. sind 17 Elementpaare gleich -> 17 mal unentschieden
Nur weiß ich nicht wie ich fortfahren kann... (folgenden Code habe ich)
```py
paper = "P"
rock = "R"
scissors = "S"
moves = []
with open("player1.txt", "r") as file:
lines = file.readlines()
for line in lines:
line = line.strip()
moves.append(line)
print("Move: ", moves)
moves2 = []
with open("player2.txt", "r") as file:
lines = file.readlines()
for line in lines:
line= line.strip()
moves2.append(line)
print("Move: ", moves2)
1 Antwort
Schau dir mal folgendes an:
https://stackoverflow.com/questions/1388818/how-can-i-compare-two-lists-in-python-and-return-matches
Folgendes sieht vielversprechend aus:
[i for i, j in zip(a, b) if i == j]
Das gibt dir dann eine Liste mit den gemeinsamen Elementen zurück.
Wenn eine der beiden Listen kürzer ist, dann wird nur soweit verglichen, bis die Länge der kürzeren liste erreicht ist. (Das ergibt sich aus der Definition der zip-Funktion:
https://www.w3schools.com/python/ref_func_zip.asp
)