Це питання поради щодо гольфу в пітон .
Припустимо, у вас є два списки рядків, і ви хочете з'єднати відповідні записи з кожного списку. Наприклад, a=list("abcd")і b=list("1234"), обчисліть ["a1","b2","c3","d4"].
Це тривіально для мов програмування на основі масиву, де операції, як правило, застосовуються впорядковано до списку. Наприклад, у моїй мові для гольфу Pip код просто a.b. Але в Python це не так просто.
Пітонічний спосіб, ймовірно, використання zipта розуміння списку (25 символів):
[x+y for x,y in zip(a,b)]
Інший метод полягає mapв функції лямбда (23):
map(lambda x,y:x+y,a,b)
Нижче наведено найкоротше, що я придумав (21):
map("".join,zip(a,b))
Чи є коротший метод?
Припустимо, що списки мають однакову довжину і що якийсь ітерабельний - це все, що потрібно (тому mapоб’єкт прекрасний у Python 3).