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 zip
dan daftar pemahaman (25 karakter):
[x+y for x,y in zip(a,b)]
Metode lain adalah map
dengan 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 map
objek baik-baik saja di Python 3).