Comprehensions in Python: List, Dictionary, Set

List Comprehensions

  • List comprehensions არის ლაკონური და ეფექტური გზა შექმნა list s in Python.
  • ისინი საშუალებას გაძლევთ შექმნათ ახალი list გამოთქმის გამოყენებით თითოეულ ელემენტზე არსებულ იტერაბულში(მაგ., list, tuple, სტრიქონი) და გაფილტროთ ელემენტი მდგომარეობიდან გამომდინარე.
  • გაგების სინტაქსი list ასეთია: [expression for item in iterable if condition]

მაგალითი:

# 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 საშუალებას გაძლევთ შექმნათ ლექსიკონები მოკლედ.
  • ანალოგიურად list comprehensions, ისინი ქმნიან ახალს, dictionary გამონათქვამის გამოყენებით თითოეულ ელემენტზე გამეორებად და ფილტრავენ ერთეულებს მდგომარეობის მიხედვით.
  • გაგების სინტაქსი dictionary ასეთია: {key_expression: value_expression for item in iterable if condition}

მაგალითი:

# 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 s მსგავსი გზით list comprehensions და dictionary comprehensions.
  • ისინი ქმნიან ახალს set, თითოეულ ელემენტზე გამონათქვამების გამოყენებით იტერაციულში და ფილტრავენ ერთეულებს მდგომარეობის მიხედვით.
  • გაგების სინტაქსი set ასეთია: {expression for item in iterable if condition}

მაგალითი:

# 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 უზრუნველყოს Python ლაკონური და წასაკითხი გზა, რათა შეიქმნას list s, ლექსიკონები და set s არსებული iterables-ზე დაყრდნობით, რაც თქვენს კოდს უფრო ელეგანტურ და ეფექტურს გახდის.