2017-02-06 6 views
0

Also habe ich eine Liste mit mehreren Listen darin, die etwas wie Koordinaten darstellen. In meinem Fall sind sie Positionen auf einem Schachbrett. Die Liste würde ungefähr so ​​aussehen: [(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)] Dies ist nur ein Beispiel. Mein Problem ist, ich muss überprüfen, ob einige dieser Koordinaten außerhalb eines bestimmten Bereichs auf dem Schachbrett sind, zum Beispiel 1-8. Leider konnte ich mit dem Befehl all() nur mit einer Liste arbeiten, die nur aus Zahlen besteht und nicht aus einer Liste mit Zahlen.Überprüfen, ob die Zahlen in einer Liste in einer Liste in einem bestimmten Bereich liegen

+0

Paar Dinge: erstens nehme ich an Sie mein Tupel, wenn du dich auf '(4, 4)' usw. beziehst, oder schlägst du vor, dass es eine andere Liste gibt, die '[(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)] und sie sind beide zusammen in einem anderen Liste? Zweitens, was soll passieren, wenn eines der Tupel einen Wert von mehr als 8 hat? – roganjosh

Antwort

-1

können Sie numpy Modul importieren und Funktion max

import numpy as np 

>>> l =np.array([(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)]) 

>>> l.max() 
6 
+0

Ich habe nicht downvote - aber 'numpy' scheint wie Overkill, zumal OP keine" numpy "Lösung angefordert hat und nicht einmal" numpy "(es gehört nicht zur Standardbibliothek). –

+0

ok, schöner Punkt :) Ihre Lösung ist ziemlich ordentlich –

1

Dann Iterierte durch jede der einzelnen verwenden Koordinaten:

>>> coords = [(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)] 
>>> all(1 <= c <= 8 for coord in coords for c in coord) 
True 

Lassen Sie uns zwei Fälle versuchen, wo es eine außerhalb des zulässigen Bereichs koordinieren :

>>> coords = [(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (0, 5), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)] 
>>> all(1 <= c <= 8 for coord in coords for c in coord) 
False 
>>> coords = [(3, 3), (4, 3), (5, 3), (6, 3), (4, 88), (3, 4), (4, 4), (5, 4), (6, 4), (3, 5), (4, 5)] 
>>> all(1 <= c <= 8 for coord in coords for c in coord) 
False 
Verwandte Themen