Menambah elemen pada senarai (tatasusunan) dalam Python: append(), extend(), insert()

Perniagaan

Untuk menambah elemen pada senarai (tatasusunan) senarai jenis dalam Python, atau untuk menggabungkan senarai lain, gunakan kaedah senarai append(), extend(), dan insert(). Anda juga boleh menggunakan operator + atau slice untuk menentukan kedudukan dan menetapkannya.

Maklumat berikut disediakan di sini.

  • Tambah elemen pada akhir:append()
  • Gabungkan senarai atau tuple lain di hujung (penggabungan):extend(),+pengendali
  • Tambah (masukkan) elemen pada kedudukan yang ditentukan.:insert()
  • Tambah (masukkan) senarai atau tupel lain pada kedudukan yang ditentukan:hirisan

Tambah elemen pada akhir:append()

Menggunakan kaedah append() senarai, anda boleh menambah elemen pada penghujung (terakhir). Jika anda ingin menambahkannya pada kedudukan selain daripada hujung, seperti bahagian atas, gunakan insert() seperti yang diterangkan di bawah.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Senarai juga ditambah sebagai satu elemen. Mereka tidak digabungkan.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Gabungkan senarai atau tuple lain di hujung (penggabungan):extend(),+pengendali

Dengan kaedah senarai extend(), anda boleh menggabungkan senarai atau tuple lain di hujung (hujung). Semua elemen akan dilampirkan pada penghujung senarai asal.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Ambil perhatian bahawa setiap aksara (elemen) ditambahkan pada rentetan satu aksara pada satu masa.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Ia juga mungkin untuk menggabungkan menggunakan operator + dan bukannya kaedah extend().

+ operator, senarai baharu dikembalikan.+=Ini juga akan membolehkan anda menambahkannya ke senarai sedia ada.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Tambah (masukkan) elemen pada kedudukan yang ditentukan.:insert()

Kaedah senarai insert() boleh menambah (menyisipkan) elemen pada kedudukan yang ditentukan.

Argumen pertama menentukan kedudukan, dan argumen kedua menentukan elemen yang akan disisipkan. Kedudukan pertama (awal) ialah 0; untuk nilai negatif, -1 ialah kedudukan terakhir (akhir).

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Seperti append(), senarai ditambah sebagai satu elemen. Ia tidak akan digabungkan.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Ambil perhatian bahawa insert() bukanlah operasi yang cekap kerana ia memerlukan kos berikut. Lihat halaman berikut pada wiki rasmi untuk kerumitan pengiraan pelbagai operasi senarai.
O(n)

O(1)
Jenis deque disediakan dalam modul koleksi perpustakaan standard sebagai jenis untuk menambah elemen ke bahagian atas pada kos ini. Sebagai contoh, jika anda ingin merawat data sebagai baris gilir (FIFO), lebih cekap menggunakan deque.

Tambah (masukkan) senarai atau tupel lain pada kedudukan yang ditentukan:hirisan

Jika anda menentukan julat dengan kepingan dan menetapkan senarai atau tupel lain, semua elemen akan ditambah (dimasukkan).

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

Anda juga boleh menggantikan elemen asal. Semua elemen dalam julat yang ditentukan akan diganti.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]