Memasukkan string ke dalam daftar tanpa terpecah menjadi karakter

113

Saya baru mengenal Python dan tidak dapat menemukan cara untuk memasukkan string ke dalam daftar tanpa memisahkannya menjadi karakter individu:

>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']

Apa yang harus saya lakukan untuk memiliki:

['foo', 'hello', 'world']

Menelusuri dokumen dan Web, tetapi itu bukan hari saya.

Dheeraj Vepakomma
sumber

Jawaban:

147

Untuk menambah akhir daftar:

list.append('foo')

Untuk memasukkan di awal:

list.insert(0, 'foo')
Rafe Kettler
sumber
Saya yakin kebanyakan orang tahu ini tetapi hanya untuk menambahkan: melakukan list2 = list1.append('foo')atau list2 = list1.insert(0, 'foo') akan menghasilkan list2nilai Tidak Ada. Keduanya appenddan insertmerupakan metode yang mengubah daftar tempat mereka digunakan daripada menampilkan daftar baru.
MoltenMuffins
15

Opsi lainnya adalah menggunakan overloaded + operator:

>>> l = ['hello','world']
>>> l = ['foo'] + l
>>> l
['foo', 'hello', 'world']
juliomalegria.dll
sumber
1
Baru saja Anda lihat, Anda juga dapat menggunakannya untuk menambahkan di bagian akhir: l += ['foo']
Toni Homedes i Saun
6

sebaiknya letakkan tanda kurung di sekitar foo, dan gunakan + =

list+=['foo']
Rik
sumber
5
>>> li = ['aaa', 'bbb']
>>> li.insert(0, 'wow!')
>>> li
['wow!', 'aaa', 'bbb']
Mac
sumber
4

Jangan gunakan list sebagai nama variabel. Itu dibangun di mana Anda menutupi.

Untuk menyisipkan, gunakan fungsi sisipkan daftar.

l = ['hello','world']
l.insert(0, 'foo')
print l
['foo', 'hello', 'world']
Spencer Rathbun
sumber
Ini tidak sepenuhnya benar. insert()mengambil argumen kedua.
Rafe Kettler
@RafeKettler Ups, menambahkan adalah argumen tanpa tempat.
Spencer Rathbun
2

Anda harus menambahkan daftar lain:

list[:0]=['foo']
Beberapa programmer
sumber
0
ls=['hello','world']
ls.append('python')
['hello', 'world', 'python']

atau (gunakan insertfungsi di mana Anda dapat menggunakan posisi indeks dalam daftar)

ls.insert(0,'python')
print(ls)
['python', 'hello', 'world']
Abhishek Patil
sumber
-2

Saya menyarankan untuk menambahkan operator '+' sebagai berikut:

list = list + ['foo']

Semoga membantu!

Antonio Moreno Martín
sumber