Python Newbie hier. Ich Validierung die Zeilen und Spalten in einem Quadrat, durch eine verschachtelte Liste wie unten dargestellt:Wie erstelle ich eine Spalte aus einer verschachtelten Liste?
[[1,2,3],
[2,3,1]
[3,1,2]]
Die Zeilen und Spalten gültig sind, wenn sie nur einmal 1 bis n mal erscheinen. Wenn zum Beispiel die verschachtelte Liste die Länge 3 hat, sollten die Zahlen 1, 2 und 3 einmal in allen Zeilen und einmal in allen Spalten erscheinen, damit sie gültig sind. Ich überprüfe die Zeilen und verstehe, wie das funktioniert. Unten habe ich eine Methode namens check_sequence definiert, wenn die Nummer 1 überprüft, um n nur einmal in der Liste angezeigt und die get_rows Methode ruft alle Zeilen in der Liste und prüft sie gegen check_sequence:
def check_sequence(mylist):
for x in range(1, len(mylist)+1):
print "x:" + ' ' + str(x)
if x not in mylist:
print "False"
return False
else:
print "True"
def check_row(mylist):
for row in mylist:
print row
if check_sequence(row) is False:
print "This is False"
return False
print "This is True"
return True
Was ich don verstehe nicht, wie man die Spalten im Quadrat mit for-Schleifen überprüft. So zum Beispiel, wenn wir den gleichen Platz wie oben:
[[1,2,3],
[2,3,1]
[3,1,2]]
Die erste Spalte enthält 1,2 und 3, die zweite Spalte enthält 2,3 und 1. Ich bin verwirrt, wie ich würde sammeln diese nummerieren zusammen in einer Spalte und überprüfen sie gegen meine Methode check_sequence?
Vielen Dank für Ihre Lösung! – johnnewbie25