Ответ на: FI9Bm1Fp07wwCoepvvJy
AL> Продолжаю учиться писать программы на питоне и возник один странный, может быть, вопрос. Есть строка, в которой хранится в "сыром" виде выхлопом x/c. То есть данные в видеОт: Andrew Lobanov (tavern,1) 24.07.19 08:18 UTC Кому: All Тема: Re: Python и магия генераторов AL> ==== AL> echo.area:messages_count AL> ==== AL> Я её хочу обработать минимальным количеством кода. Так что решил использовать генератор: AL> ==== AL> {x.split(":")[0]: x.split(":")[1] for x in x_i.split("\n") if ":" in x} AL> ==== AL> Но при этом мне очень не нравится дважды вызванный .split(":"). Можно как-то произвести сплит единожды для каждой итерации или придётся городить огород для этого? Благодаря товарищам из Instead группы в ТГ решил это следующим образом: ==== {y[0]: int(y[1]) for y in (x.split(":") for x in counts.split("\n") if ":" in x)} ==== Если предложите вариант проще и быстрее, то буду рад.
[408 / 433]
|