Saya mencoba untuk mengambil satu string, dan menambahkannya ke setiap string yang terkandung dalam daftar, dan kemudian memiliki daftar baru dengan string yang sudah selesai. Contoh:
list = ['foo', 'fob', 'faz', 'funk']
string = 'bar'
*magic*
list2 = ['foobar', 'fobbar', 'fazbar', 'funkbar']
Saya mencoba untuk loop, dan upaya pemahaman daftar, tapi itu sampah. Seperti biasa, bantuan apa pun, sangat kami hargai.
list
karena itu builtin.Jawaban:
Cara paling sederhana untuk melakukan ini adalah dengan pemahaman daftar:
Perhatikan bahwa saya menghindari menggunakan nama builtin seperti
list
karena itu membayangi atau menyembunyikan nama builtin, yang sangat tidak baik.Juga, jika Anda tidak benar-benar membutuhkan daftar, tetapi hanya membutuhkan iterator, ekspresi generator bisa lebih efisien (walaupun sepertinya tidak penting pada daftar pendek):
Ini sangat kuat, fleksibel, dan ringkas. Setiap programmer python yang baik harus belajar menggunakannya.
sumber
(s + mystring for s in mylist)
["{}) {}".format(i, s) for i, s in enumerate(mylist)]
list2 = ["mystring" + s for s in mylist]
=list2 = ['barfoo', 'barfob', 'barfaz', 'barfunk']
Ini akan mencetak:
sumber
map
Sepertinya alat yang tepat untuk pekerjaan itu bagiku.Lihat bagian ini pada alat pemrograman fungsional untuk lebih banyak contoh
map
.sumber
Menjalankan percobaan berikut dengan cara pythonic:
tampaknya ~ 35% lebih cepat daripada penggunaan loop for seperti ini:
Percobaan
Hasil
sumber
Memperluas sedikit ke "Menambahkan daftar string ke daftar string":
Hasil:
tipe file dapat dikonversi lebih lanjut str
sumber
at = np.full(fill_value='@',shape=1,dtype=object)
atau cukup:at = np.array("@", dtype=object)
Anda dapat menggunakan lambda inside map dengan python. menulis generator kode abu-abu. https://github.com/rdm750/rdm750.github.io/blob/master/python/gray_code_generator.py # kode Anda ada di sini '' 'kode n-1 bit, dengan 0 diawali dengan setiap kata, diikuti oleh kode n-1 bit dalam urutan terbalik, dengan 1 ditambahkan pada setiap kata. ''
sumber
Memperbarui dengan lebih banyak opsi
Hindari menggunakan kata kunci sebagai variabel seperti 'daftar', ganti namanya 'daftar' sebagai 'list1'
sumber
Inilah jawaban sederhana menggunakan
pandas
.sumber
Dan jangan gunakan
list
sebagai nama; itu membayangi tipe bawaan.sumber
'%sbar' % (x,)
bukannya'%sbar' % x
? Mengapa tidakx + 'bar'
?Menggunakan nama seperti "daftar" untuk nama variabel Anda buruk karena akan menimpa / menimpa bawaan.
sumber
Untuk berjaga-jaga
sumber