Ho un problema di codice comprensione relative a python:Python conversione follia
def convex_hull(pts):
"""Returns the points on the convex hull of pts in CCW order."""
for m in (2 ** (2 ** t) for t in xrange(len(pts))):
hulls = [_graham_scan(pts[i:i + m]) for i in xrange(0, len(pts), m)]
//more code
io non riesco a capire come sono quei due 'per' dovrebbe funzionare.
Purtroppo il riferimento del comando non mostra un tale esempio di utilizzo, e non posso davvero dire se questo -really- significa che uno per è l'assegnazione lato sinistro dell'altro?
Inoltre, che cosa potrebbe significare l'assegnazione in basso? L'istruzione 'for' restituisce un valore?!?!
Grazie e scusa per la domanda per principianti.
La prima riga di questa funzione è uno stile di codifica davvero orribile. 'per t in xrange (len (pts)): m = 2 ** 2 ** t' è più veloce, più corto e molto più facile da leggere. –