Comprehensions in Python: List, Dictionary, Set

List Comprehensions

  • List comprehensions zijn een beknopte en efficiënte manier om list s in te maken Python.
  • Hiermee kunt u een nieuwe genereren list door een uitdrukking toe te passen op elk item in een bestaande iteratie(bijv. list, tuple, string) en de items te filteren op basis van een voorwaarde.
  • De syntaxis van een list begrip is: [expression for item in iterable if condition]

Voorbeeld:

# List comprehension to generate a list of squares of numbers from 0 to 9  
squares = [x**2 for x in range(10)]  
print(squares)   # Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]  
  
# List comprehension to filter even numbers from a list  
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
even_numbers = [x for x in numbers if x % 2 == 0]  
print(even_numbers)   # Output: [2, 4, 6, 8, 10]  

 

Dictionary Comprehensions

  • Dictionary comprehensions kunt u op een beknopte manier woordenboeken maken.
  • Net als bij list comprehensions genereren ze een nieuwe dictionary door een uitdrukking toe te passen op elk item in een itereerbare en items te filteren op basis van een voorwaarde.
  • De syntaxis van een dictionary begrip is: {key_expression: value_expression for item in iterable if condition}

Voorbeeld:

# Dictionary comprehension to create a dictionary of squares of numbers from 0 to 9  
squares_dict = {x: x**2 for x in range(10)}  
print(squares_dict)   # Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}  
  
# Dictionary comprehension to filter even numbers from a dictionary  
numbers_dict = {1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}  
even_numbers_dict = {key: value for key, value in numbers_dict.items() if key % 2 == 0}  
print(even_numbers_dict)   # Output: {2: 'two', 4: 'four'}  

 

Set Comprehensions

  • Set comprehensions kunt u s maken set op een vergelijkbare manier als list comprehensions en dictionary comprehensions.
  • Ze genereren een nieuwe set door een uitdrukking toe te passen op elk item in een itereerbare en items te filteren op basis van een voorwaarde.
  • De syntaxis van een set begrip is: {expression for item in iterable if condition}

Voorbeeld:

# Set comprehension to create a set of squares of numbers from 0 to 9  
squares_set = {x**2 for x in range(10)}  
print(squares_set)   # Output: {0, 1, 4, 9, 16, 25, 36, 49, 64, 81}  
  
# Set comprehension to filter even numbers from a set
numbers_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}  
even_numbers_set = {x for x in numbers_set if x % 2 == 0}  
print(even_numbers_set)   # Output: {2, 4, 6, 8, 10}

 

Comprehensions in Python een beknopte en leesbare manier bieden om list s, woordenboeken en set s te maken op basis van bestaande iterables, waardoor uw code eleganter en efficiënter wordt.