develop.16: Обсуждение вопросов программирования

От: Andrew Lobanov (tavern,1) 24.07.19 06:21 UTC
Кому: All
Тема: Python и магия генераторов
Продолжаю учиться писать программы на питоне и возник один странный, может быть, вопрос. Есть строка, в которой хранится в "сыром" виде выхлопом x/c. То есть данные в виде

====
echo.area:messages_count
====

Я её хочу обработать минимальным количеством кода. Так что решил использовать генератор:

====
{x.split(":")[0]: x.split(":")[1] for x in x_i.split("\n") if ":" in x}
====

Но при этом мне очень не нравится дважды вызванный .split(":"). Можно как-то произвести сплит единожды для каждой итерации или придётся городить огород для этого?

Эффективность обработки также играет для меня роль, так как впоследствии наработанные подходы я наверняка буду пытаться применять и для больших объёмов данных.
[407 / 433]