Извлечение данных из вложенных структур Зачастую приводит к созданию перегруженного кода, который подвержен ошибкам.
в Python 3.10 pattern matching (Сопоставление с образцом ) обеспечивает более декларативный и понятный способ обработки сложных структур данных.
#Python #pythontips
@pythonl
в Python 3.10 pattern matching (Сопоставление с образцом ) обеспечивает более декларативный и понятный способ обработки сложных структур данных.
#Python #pythontips
@pythonl
👍18❤5🔥3
🐍 Python-совет: как объединить списки разной длины и не потерять данные
Обычный zip() останавливается на самом коротком списке:
Элементы 4 и 5 просто исчезнут. Чтобы сохранить их, используйте zip_longest():
Результат:
А когда списки обязаны иметь одинаковую длину, в Python 3.10+ лучше включить проверку:
Вместо тихой потери данных Python сразу выбросит ValueError.
Полезно при обработке таблиц, CSV, результатов API и параллельных наборов данных.
#Python #Programming #PythonTips
Обычный 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
🔥5❤4👍3