🐍 Python-совет: как объединить списки разной длины и не потерять данные
Обычный zip() останавливается на самом коротком списке:
numbers = [1, 2, 3, 4, 5]
letters = ["a", "b", "c"]
print(list(zip(numbers, letters)))
# [(1, 'a'), (2, 'b'), (3, 'c')]
Элементы 4 и 5 просто исчезнут. Чтобы сохранить их, используйте zip_longest():
from itertools import zip_longest
result = zip_longest(
numbers,
letters,
fillvalue="нет значения",
)
print(list(result))
Результат:
[
(1, "a"),
(2, "b"),
(3, "c"),
(4, "нет значения"),
(5, "нет значения"),
]
А когда списки обязаны иметь одинаковую длину, в Python 3.10+ лучше включить проверку:
zip(numbers, letters, strict=True)
Вместо тихой потери данных Python сразу выбросит ValueError.
Полезно при обработке таблиц, CSV, результатов API и параллельных наборов данных.
#Python #Programming #PythonTips
@Python_Community_ru
Обычный zip() останавливается на самом коротком списке:
numbers = [1, 2, 3, 4, 5]
letters = ["a", "b", "c"]
print(list(zip(numbers, letters)))
# [(1, 'a'), (2, 'b'), (3, 'c')]
Элементы 4 и 5 просто исчезнут. Чтобы сохранить их, используйте zip_longest():
from itertools import zip_longest
result = zip_longest(
numbers,
letters,
fillvalue="нет значения",
)
print(list(result))
Результат:
[
(1, "a"),
(2, "b"),
(3, "c"),
(4, "нет значения"),
(5, "нет значения"),
]
А когда списки обязаны иметь одинаковую длину, в Python 3.10+ лучше включить проверку:
zip(numbers, letters, strict=True)
Вместо тихой потери данных Python сразу выбросит ValueError.
Полезно при обработке таблиц, CSV, результатов API и параллельных наборов данных.
#Python #Programming #PythonTips
@Python_Community_ru
🐍 Опытный Python-разработчик рассказал, для каких проектов в 2026 году он уже не выбирает Python первым.
Автор десятилетиями использовал Python практически для всего, но со временем пришёл к простой мысли: хороший универсальный язык не обязан быть лучшим инструментом для каждой задачи.
В презентации разбирается, где ограничения Python начинают перевешивать его удобство и почему для некоторых проектов сегодня разумнее посмотреть на другие языки и экосистемы.
При этом это не очередное «Python умер».
Наоборот, автор по-прежнему активно использует Python и отдельно показывает области, где язык остаётся одним из лучших вариантов.
Получился полезный взгляд без фанатизма: выбирать язык не по привычке, а под конкретную задачу.
#/
#Python #Programming #SoftwareEngineering #Development
@Python_Community_ru
https://menno.io/presentations/not-python-2026/index.html
Автор десятилетиями использовал Python практически для всего, но со временем пришёл к простой мысли: хороший универсальный язык не обязан быть лучшим инструментом для каждой задачи.
В презентации разбирается, где ограничения Python начинают перевешивать его удобство и почему для некоторых проектов сегодня разумнее посмотреть на другие языки и экосистемы.
При этом это не очередное «Python умер».
Наоборот, автор по-прежнему активно использует Python и отдельно показывает области, где язык остаётся одним из лучших вариантов.
Получился полезный взгляд без фанатизма: выбирать язык не по привычке, а под конкретную задачу.
#/
#Python #Programming #SoftwareEngineering #Development
@Python_Community_ru
https://menno.io/presentations/not-python-2026/index.html