Jika Anda ingin 'memperluas' ke titik penyisipan tertentu, Anda dapat menggunakan sintaksis slicing daftar (lihat stackoverflow.com/a/7376026/1075152 )
florisla
5
Komentar @ florisla harusnya menjadi jawaban yang diterima. Ini satu-satunya cara untuk memasukkan daftar ke daftar lain di tempat di lokasi sewenang-wenang (bukan hanya di akhir).
penenun
1
@weaver Sementara itu satu-satunya solusi untuk melakukan itu (diperluas pada indeks tertentu), itu bukan pertanyaan awal.
florisla
@florisla Itu kesopanan.
penenun
31
foo =[1,2,3]
bar =[4,5,6]
foo.append(bar)-->[1,2,3,[4,5,6]]
foo.extend(bar)-->[1,2,3,4,5,6]
Jika kita lakukan x.append(y), y direferensikan ke x sehingga setiap perubahan yang dilakukan pada y akan mempengaruhi ditambahkan juga x. Jadi jika kita hanya perlu memasukkan elemen, kita harus melakukan hal berikut:
listA.insert(pos, x) for x in listB[::-1]
?Jawaban:
Apakah yang Anda maksud
append
?Atau bergabung?
sumber
x.extend(y)
sudah ada,x+y
mengembalikan daftar baru. Danx += y
, yang tidak disebutkan di sini, mirip dengan perpanjangan.Pertanyaannya tidak memperjelas apa yang sebenarnya ingin Anda capai.
Daftar memiliki
append
metode, yang menambahkan argumennya ke daftar:Ada juga
extend
metode, yang menambahkan item dari daftar yang Anda berikan sebagai argumen:Dan tentu saja, ada
insert
metode yang bertindak serupaappend
tetapi memungkinkan Anda untuk menentukan titik penyisipan:Untuk memperpanjang daftar pada titik penyisipan tertentu, Anda dapat menggunakan pemotongan daftar (terima kasih, @florisla):
Pengirisan daftar cukup fleksibel karena memungkinkan untuk mengganti berbagai entri dalam daftar dengan berbagai entri dari daftar lain:
sumber
http://docs.python.org/tutorial/datastructures.html
sumber
[1,2,4,5,6,3]
Anda juga bisa melakukan ...
sumber
x + y
danx += y
sama saja tetapi di tempat.Jika Anda ingin menambahkan elemen dalam daftar (list2) ke akhir daftar lainnya (daftar), maka Anda dapat menggunakan metode rentangkan daftar
Atau jika Anda ingin menggabungkan dua daftar maka Anda dapat menggunakan tanda +
sumber
Jika kita lakukan
x.append(y)
, y direferensikan ke x sehingga setiap perubahan yang dilakukan pada y akan mempengaruhi ditambahkan juga x. Jadi jika kita hanya perlu memasukkan elemen, kita harus melakukan hal berikut:x = [1,2,3] y = [4,5,6] x.append(y[:])
sumber