Sobes.tech
Junior
110
questionbank

Приведите примеры использования функции zip в Python.

AI答案

sobes.tech AI

Функция zip() объединяет элементы нескольких итерируемых объектов в кортежи. Итерация прекращается, когда самый короткий итерируемый объект исчерпан.

Примеры:

  • Объединение двух списков:

    # Объединение индексов и значений
    indices = [0, 1, 2]
    values = ['a', 'b', 'c']
    zipped_list = list(zip(indices, values))
    # zipped_list будет [(0, 'a'), (1, 'b'), (2, 'c')]
    
  • Объединение трех итерируемых объектов:

    # Объединение списков и строки
    numbers = [1, 2, 3]
    letters = ['x', 'y', 'z']
    symbols = "!@#"
    zipped_multiple = list(zip(numbers, letters, symbols))
    # zipped_multiple будет [(1, 'x', '!'), (2, 'y', '@'), (3, 'z', '#')]
    
  • Использование zip() с циклами:

    # Итерация поzipped_list
    names = ['Alice', 'Bob', 'Charlie']
    ages = [30, 25, 35]
    for name, age in zip(names, ages):
        print(f"{name} is {age} years old.")
    
  • Распаковка заархивированного объекта с помощью *:

    # Заархивированный список
    zipped_data = [(0, 'a'), (1, 'b'), (2, 'c')]
    # Распаковка на два отдельных списка
    indices, values = zip(*zipped_data)
    # indices будет (0, 1, 2) (кортеж)
    # values будет ('a', 'b', 'c') (кортеж)
    
  • Применение zip для создания словаря:

    # Создание словаря из двух списков
    keys = ['apple', 'banana', 'orange']
    values = [10, 20, 15]
    fruit_prices = dict(zip(keys, values))
    # fruit_prices будет {'apple': 10, 'banana': 20, 'orange': 15}
    
  • Работа с итерируемыми объектами разной длины:

    # Zip останавливается по самому короткому итерируемому объекту
    short_list = [1, 2]
    long_list = ['a', 'b', 'c', 'd']
    zipped_unequal = list(zip(short_list, long_list))
    # zipped_unequal будет [(1, 'a'), (2, 'b')]