Ini adalah pertanyaan tips untuk bermain golf di python .
Misalkan Anda memiliki dua daftar string, dan Anda ingin menggabungkan entri yang sesuai dari setiap daftar. Misal dengan a=list("abcd")dan b=list("1234"), hitung ["a1","b2","c3","d4"].
Ini sepele dalam bahasa pemrograman berbasis array, di mana operasi umumnya berlaku berdasarkan anggota. Misalnya, dalam Pip bahasa golf saya , kodenya sederhana a.b. Tetapi dengan Python, itu tidak mudah.
Cara Pythonic mungkin untuk menggunakan zipdan daftar pemahaman (25 karakter):
[x+y for x,y in zip(a,b)]
Metode lain adalah mapdengan fungsi lambda (23):
map(lambda x,y:x+y,a,b)
Berikut ini adalah yang terpendek yang saya buat (21):
map("".join,zip(a,b))
Apakah ada metode yang lebih pendek?
Asumsikan bahwa daftar memiliki panjang yang sama dan bahwa beberapa jenis iterable adalah semua yang diperlukan (jadi mapobjek baik-baik saja di Python 3).