Tutoriel par Examples: compréhensions



Une compréhension de liste crée une nouvelle list en appliquant une expression à chaque élément d’une itération . La forme la plus élémentaire est: [ <expression> for <element> in <iterable> ] Il y a aussi une condition optionnelle "if": [ <expression> for <el...
Une compréhension de dictionnaire est similaire à une compréhension de liste sauf qu'elle produit un objet dictionnaire au lieu d'une liste. Un exemple de base: Python 2.x 2.7 {x: x * x for x in (1, 2, 3, 4)} # Out: {1: 1, 2: 4, 3: 9, 4: 16} ce qui est juste une autre façon d'écrir...
La compréhension d'ensemble est similaire à la compréhension de liste et du dictionnaire , mais elle produit un ensemble , qui est une collection non ordonnée d'éléments uniques. Python 2.x 2.7 # A set containing every value in range(5): {x for x in range(5)} # Out: {0, 1, 2, 3, 4} # ...
Liste compréhensions peuvent utiliser imbriqués for les boucles. Vous pouvez coder un nombre quelconque de boucles imbriquées pour l' intérieur d' une compréhension de la liste, et chaque for la boucle peut avoir une option associée if test. Ce faisant, l'ordre du for des constructions ...
Si vous avez plusieurs objets de types monadiques , nous pouvons obtenir des combinaisons de valeurs en utilisant un «pour la compréhension»: for { x <- Option(1) y <- Option("b") z <- List(3, 4) } { // Now we can use the x, y, z variables println(x, y, z) ...
Les fonctions de filter ou de map doivent souvent être remplacées par des listes compréhensibles . Guido Van Rossum le décrit bien dans une lettre ouverte en 2005 : filter(P, S) est presque toujours écrit plus clair que [x for x in S if P(x)] , ce qui a l'énorme avantage que les usages les plu...
La clause for d'une compréhension de liste peut spécifier plus d'une variable: [x + y for x, y in [(1, 2), (3, 4), (5, 6)]] # Out: [3, 7, 11] [x + y for x, y in zip([1, 3, 5], [2, 4, 6])] # Out: [3, 7, 11] C'est comme for boucles régulières: for x, y in [(1,2), (3,4), (5,6)]: ...
Elixir n'a pas de boucles. À la place des listes, il existe d’excellents modules Enum et List , mais il existe également des listes de compréhension. Les compréhensions de liste peuvent être utiles pour: créer de nouvelles listes iex(1)> for value <- [1, 2, 3], do: value + 1 [2, 3, 4] ...
Avec l'extension de langage Parallel List Comprehensions , [(x,y) | x <- xs | y <- ys] est équivalent à zip xs ys Exemple: [(x,y) | x <- [1,2,3] | y <- [10,20]] -- [(1,10),(2,20)]
Vous pouvez faire des choses soignées via les résultats de Array "compréhensions" ... Comme assigner plusieurs variables ... à partir du résultat d'une boucle for instruction ... [express,_] = (require x for x in ['express','underscore']) Ou une version syntaxiquement douce d'u...
Emboîtés for les boucles peuvent être utilisées pour itérer sur un certain nombre de iterables uniques. result = [] for a = iterable_a for b = iterable_b push!(result, expression) end end De même, plusieurs spécifications d'itération peuvent être fournies à une compréhens...

Page 1 de 1