Esta é uma pergunta de dicas para jogar golfe em python .
Suponha que você tenha duas listas de cadeias e deseja concatenar as entradas correspondentes de cada lista. Por exemplo, com a=list("abcd")e b=list("1234"), calcule ["a1","b2","c3","d4"].
Isso é trivial nas linguagens de programação baseadas em array, onde as operações geralmente se aplicam aos membros das listas. Por exemplo, no meu idioma de golfe Pip , o código é simples a.b. Mas em Python, não é tão fácil.
A maneira Pythonic é provavelmente usar zipe compreender uma lista (25 caracteres):
[x+y for x,y in zip(a,b)]
Outro método é mapcom uma função lambda (23):
map(lambda x,y:x+y,a,b)
O seguinte é o mais curto que eu vim com (21):
map("".join,zip(a,b))
Existe algum método mais curto?
Suponha que as listas tenham o mesmo comprimento e que seja necessário algum tipo de iterável (portanto, um mapobjeto é bom no Python 3).