Python LanguageComprensione delle liste


introduzione

Le comprensioni delle liste in Python sono costrutti concisi e sintattici. Possono essere utilizzati per generare elenchi da altri elenchi applicando funzioni a ciascun elemento nell'elenco. La seguente sezione spiega e dimostra l'uso di queste espressioni.

Sintassi

  • [x + 1 per x in (1, 2, 3)] # list comprehension, dà [2, 3, 4]
  • (x + 1 per x in (1, 2, 3)) espressione del generatore #, darà 2, quindi 3, quindi 4
  • [x per x in (1, 2, 3) se x% 2 == 0] # list comprehension with filter, dà [2]
  • [x + 1 if x% 2 == 0 else x per x in (1, 2, 3)] # list comprehension with ternary
  • [x + 1 if x% 2 == 0 else x per x nel range (-3,4) se x> 0] # list comprehension with ternary e filtering
  • {x per x in (1, 2, 2, 3)} # set comprehension, dà {1, 2, 3}
  • {k: v per k, v in [('a', 1), ('b', 2)]} # dict comprensione, dà {'a': 1, 'b': 2} (python 2.7+ e Solo 3.0+)
  • [x + y per x in [1, 2] per y in [10, 20]] # Anelli nidificati, restituisce [11, 21, 12, 22]
  • [x + y per x in [1, 2, 3] se x> 2 per y in [3, 4, 5]] # Condizione verificata al 1 ° ciclo
  • [x + y per x in [1, 2, 3] per y in [3, 4, 5] se x> 2] # Condizione selezionata al 2 per ciclo
  • [x per x in xrange (10) if x% 2 == 0] # Condition checked if numbers in loop sono numeri dispari

Osservazioni

Le comprensioni sono costrutti sintattici che definiscono strutture dati o espressioni uniche per un particolare linguaggio. L'uso corretto delle comprensioni reinterpreta questi in espressioni facilmente comprensibili. Come espressioni, possono essere utilizzate:

  • nella parte destra dei compiti
  • come argomenti per funzionare chiamate
  • nel corpo di una funzione lambda
  • come dichiarazioni autonome. (Ad esempio: [print(x) for x in range(10)] )

Comprensione delle liste Esempi correlati