Cara menambahkan beberapa nilai ke daftar dengan Python

175

Saya mencoba mencari cara menambahkan beberapa nilai ke daftar dengan Python. Saya tahu ada beberapa metode untuk melakukannya, seperti memasukkan nilai secara manual, atau melakukan operasi penambahan dalam satu forlingkaran, atau appenddanextend fungsi.

Namun, saya bertanya-tanya apakah ada cara yang lebih rapi untuk melakukannya? Mungkin paket atau fungsi tertentu?

ChangeMyName
sumber
8
Sudahkah Anda menemukan dokumentasi daftar ?
Martijn Pieters
5
Anda bilang Anda tahu ada beberapa metode untuk melakukannya , tetapi jangan perlihatkan apa yang Anda coba, atau jelaskan mengapa metode yang Anda tahu belum cukup baik.
berguna
Silakan tentukan lebih rapi daripadaextend() .
Frédéric Hamidi
3
@ FrédéricHamidi more neat == additional package dependency, tentu saja!
hexparrot
1
Bagaimana pertanyaan ini dianggap di luar topik?
Victor Schröder

Jawaban:

352

Anda dapat menggunakan metode urutanlist.extend untuk memperpanjang daftar dengan beberapa nilai dari segala jenis iterable, baik itu daftar lain atau hal lain yang menyediakan urutan nilai.

>>> lst = [1, 2]
>>> lst.append(3)
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]

>>> lst.extend([5, 6, 7])
>>> lst.extend((8, 9, 10))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> lst.extend(range(11, 14))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

Jadi, Anda dapat menggunakan list.append()untuk menambahkan nilai tunggal , dan list.extend()menambahkan beberapa nilai.

menyodok
sumber
1
Agak rumit untuk memperkenalkan generator kepada seseorang pada hari 1 menggunakan Python.
Daniel Roseman
1
@DanielRoseman Maksud saya adalah bahwa nilai dapat berasal dari segala jenis urutan yang dapat diubah.
colok
6
Perhatikan bahwa perluasan tidak menjaga struktur elemen yang Anda tambahkan dibandingkan append(). Dengan contoh Anda menggunakan append, Anda akan dapatkan [1, 2, 3, 4, [5, 6, 7], (8, 9, 10), range(11, 14)]. Python 3
Yohan Obadia
1
@YohanObadia Jika itu adalah kasus untuk Python 3 di '17, itu tidak lagi terjadi - Python 3.7.7 melakukan apa yang dijelaskan poke.
Post169
28

Selain appendfungsi, jika dengan "beberapa nilai" yang Anda maksud adalah daftar lain, Anda dapat menggabungkannya seperti itu.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
slider
sumber
9

Jika anda melihat pada dokumen resmi , Anda akan melihat tepat di bawah append, extend. Itu yang kamu cari.

Ada juga itertools.chainjika Anda lebih tertarik pada iterasi efisien daripada berakhir dengan struktur data yang terisi penuh.

Silas Ray
sumber