Comprehensions in Python: List, Dictionary, Set

List Comprehensions

  • List comprehensions sind eine prägnante und effiziente Möglichkeit, list s in zu erstellen Python.
  • Sie ermöglichen es Ihnen, ein neues zu generieren list, indem Sie einen Ausdruck auf jedes Element in einer vorhandenen Iterable(z. B. list Tupel, String) anwenden und die Elemente basierend auf einer Bedingung filtern.
  • Die Syntax eines list Verständnisses lautet: [expression for item in iterable if condition]

Beispiel:

# 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 ermöglichen Ihnen die übersichtliche Erstellung von Wörterbüchern.
  • Ähnlich wie list comprehensions generieren sie einen neuen dictionary Ausdruck, indem sie auf jedes Element in einem iterierbaren Element einen Ausdruck anwenden und Elemente basierend auf einer Bedingung filtern.
  • Die Syntax eines dictionary Verständnisses lautet: {key_expression: value_expression for item in iterable if condition}

Beispiel:

# 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 set ermöglichen Ihnen, s auf ähnliche Weise wie list comprehensions und zu erstellen dictionary comprehensions.
  • Sie generieren einen neuen set Ausdruck, indem sie auf jedes Element in einem iterierbaren Element einen Ausdruck anwenden und Elemente basierend auf einer Bedingung filtern.
  • Die Syntax eines set Verständnisses lautet: {expression for item in iterable if condition}

Beispiel:

# 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 bietet Python eine prägnante und lesbare Möglichkeit, list s, Wörterbücher und set s basierend auf vorhandenen Iterables zu erstellen und so Ihren Code eleganter und effizienter zu gestalten.