Saya mencoba untuk mendapatkan cara terpendek (karakter mungkin) untuk mendapatkan Daftar 3.
Daftar 1 dan Daftar 2 sudah diberikan kepada saya sebagai argumen dan panjangnya sama.
l1 = [1, 2, 3, 4, 5]
l2 = ['a', 'b', 'c', 'd', 'e']
Dan Daftar 3 akan terlihat seperti (ya, itu harus daftar):
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
diberikanl1 = [1, 2, 3, 4, 5]
danl2 = ['a', 'b', 'c', 'd', 'e']
sudah ditetapkan, atau apakah gagasan itul1
danl2
dapat berupa dua daftar dengan panjang yang sama?Jawaban:
Zip dan Sum
Cobalah online!
Ritsleting kedua daftar bersama lalu tambahkan semua tupel untuk membuat satu daftar gabungan. Zip hanya berfungsi jika daftar dijamin dengan ukuran yang sama, jika tidak memotong daftar yang lebih panjang.
Menambahkan sekitarnya
[* ]
untuk mengubahnya menjadi daftar seperti yang disarankan FryAmTheEggman.sumber
list
bukannya[* (...) ]
+3 byte.Tugas slice
Ini tiga byte lebih lama daripada menggunakan solusi Jo King
c=[*sum(zip(b,a),())]
, tapi bagus. Mungkin lebih pendek situasional (saya tidak bisa memikirkan di mana, meskipun).sumber