Mengonversi beberapa string ke daftar python

Sama seperti

1
3
5
7
5 loop adalah cara untuk melakukan operasi berkali-kali, daftar adalah cara untuk menyimpan banyak nilai. Tidak seperti array NumPy, daftar dibangun ke dalam bahasa (jadi kami tidak perlu memuat pustaka untuk menggunakannya). Kami membuat daftar dengan meletakkan nilai di dalam tanda kurung siku dan memisahkan nilai dengan koma

odds = [1, 3, 5, 7]
print('odds are:', odds)
_

odds are: [1, 3, 5, 7]

Kami memilih elemen individual dari daftar dengan mengindeksnya

print('first and last:', odds[0], odds[-1])

first and last: 1 7
_

dan jika kita mengulang daftar, variabel loop diberikan elemen satu per satu

for number in odds:
    print(number)

1
3
5
7

Ada satu perbedaan penting antara daftar dan string. kita dapat mengubah nilai dalam daftar, tetapi kita tidak dapat mengubah karakter individual dalam sebuah string. Sebagai contoh

names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
print('names is originally:', names)
names[1] = 'Darwin'  # correct the name
print('final value of names:', names)

names is originally: ['Curie', 'Darwing', 'Turing']
final value of names: ['Curie', 'Darwin', 'Turing']
_

bekerja, tapi

name = 'Darwin'
name[0] = 'd'
_

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-220df48aeb2e> in <module>()
      1 name = 'Darwin'
----> 2 name[0] = 'd'

TypeError: 'str' object does not support item assignment

tidak

Ch-Ch-Ch-Ch-Perubahan

Data yang dapat diubah di tempat disebut , sedangkan data yang tidak dapat diubah disebut. String dan angka tidak dapat diubah. Ini tidak berarti bahwa variabel dengan nilai string atau angka adalah konstanta, tetapi ketika kita ingin mengubah nilai variabel string atau angka, kita hanya dapat mengganti nilai lama dengan nilai yang benar-benar baru.

Daftar dan array, di sisi lain, bisa berubah. kita dapat memodifikasinya setelah dibuat. Kami dapat mengubah elemen individual, menambahkan elemen baru, atau menyusun ulang seluruh daftar. Untuk beberapa operasi, seperti penyortiran, kita dapat memilih apakah akan menggunakan fungsi yang mengubah data di tempat atau fungsi yang mengembalikan salinan yang dimodifikasi dan membiarkan aslinya tidak berubah

Berhati-hatilah saat memodifikasi data di tempat. Jika dua variabel merujuk ke daftar yang sama, dan Anda mengubah nilai daftar, itu akan berubah untuk kedua variabel

odds are: [1, 3, 5, 7]
0

odds are: [1, 3, 5, 7]
1

Jika Anda ingin variabel dengan nilai yang dapat diubah menjadi independen, Anda harus membuat salinan nilai saat menetapkannya

odds are: [1, 3, 5, 7]
2

odds are: [1, 3, 5, 7]
_3

Karena jebakan seperti ini, kode yang mengubah data di tempat bisa lebih sulit dipahami. Namun, seringkali jauh lebih efisien untuk memodifikasi struktur data yang besar daripada membuat salinan yang dimodifikasi untuk setiap perubahan kecil. Anda harus mempertimbangkan kedua aspek ini saat menulis kode

Daftar Bersarang

Karena daftar dapat berisi variabel Python apa saja, daftar tersebut bahkan dapat berisi daftar lainnya

Misalnya, kita dapat menampilkan produk di rak toko kelontong kecil

odds are: [1, 3, 5, 7]
_4

Berikut adalah contoh visual tentang cara kerja pengindeksan daftar daftar

1
3
5
7
6

Mengonversi beberapa string ke daftar python

Menggunakan daftar yang dinyatakan sebelumnya

1
3
5
7
_6, ini akan menjadi hasil dari operasi indeks yang ditunjukkan pada gambar

odds are: [1, 3, 5, 7]
5

odds are: [1, 3, 5, 7]
6

odds are: [1, 3, 5, 7]
7

odds are: [1, 3, 5, 7]
_8

odds are: [1, 3, 5, 7]
_9

print('first and last:', odds[0], odds[-1])
0

Terima kasih kepada Hadley Wickham untuk gambar di atas

Daftar Heterogen

Daftar di Python dapat berisi elemen dari berbagai jenis. Contoh

print('first and last:', odds[0], odds[-1])
1

Ada banyak cara untuk mengubah isi daftar selain menetapkan nilai baru ke masing-masing elemen

print('first and last:', odds[0], odds[-1])
2

print('first and last:', odds[0], odds[-1])
_3

print('first and last:', odds[0], odds[-1])
_4

print('first and last:', odds[0], odds[-1])
5

print('first and last:', odds[0], odds[-1])
6

print('first and last:', odds[0], odds[-1])
_7

Saat memodifikasi di tempat, perlu diingat bahwa Python memperlakukan daftar dengan cara yang sedikit kontra-intuitif

Jika kita membuat daftar dan (mencoba) menyalinnya kemudian memodifikasinya, kita dapat menyebabkan segala macam masalah

print('first and last:', odds[0], odds[-1])
8

print('first and last:', odds[0], odds[-1])
_9

Ini karena Python menyimpan daftar dalam memori, dan kemudian dapat menggunakan banyak nama untuk merujuk ke daftar yang sama. Jika yang ingin kita lakukan hanyalah menyalin daftar (sederhana), kita dapat menggunakan fungsi

1
3
5
7
8, jadi kita tidak mengubah daftar yang tidak kita maksudkan

first and last: 1 7
_0

first and last: 1 7
_1

Ini berbeda dari cara kerja variabel di pelajaran 1, dan lebih mirip dengan cara kerja spreadsheet

Mengubah String Menjadi Daftar

Gunakan for-loop untuk mengonversi string "halo" menjadi daftar huruf

first and last: 1 7
_2

Petunjuk. Anda dapat membuat daftar kosong seperti ini

first and last: 1 7
_3

Larutan

first and last: 1 7
_4

Subset daftar dan string dapat diakses dengan menentukan rentang nilai dalam tanda kurung, mirip dengan cara kami mengakses rentang posisi dalam larik NumPy. Ini biasanya disebut sebagai "mengiris" daftar/string

first and last: 1 7
_5

first and last: 1 7
_6

Mengiris Dari Akhir

Gunakan slicing untuk mengakses hanya empat karakter terakhir dari string atau entri daftar

first and last: 1 7
_7

first and last: 1 7
_8

Apakah solusi Anda akan berfungsi terlepas dari apakah Anda mengetahui sebelumnya panjang string atau daftar (mis. g. jika Anda ingin menerapkan solusi ke sekumpulan daftar dengan panjang berbeda)?

Larutan

Gunakan indeks negatif untuk menghitung elemen dari ujung wadah (seperti daftar atau string)

first and last: 1 7
_9

Irisan Tidak Berkelanjutan

Sejauh ini kita telah melihat cara menggunakan slicing untuk mengambil satu blok entri berturut-turut dari suatu urutan. Tetapi bagaimana jika kita ingin mengambil subkumpulan entri yang tidak bersebelahan dalam urutan?

Anda dapat melakukannya dengan memberikan argumen ketiga ke rentang di dalam tanda kurung, yang disebut ukuran langkah. Contoh di bawah menunjukkan bagaimana Anda dapat mengambil setiap entri ketiga dalam daftar

for number in odds:
    print(number)
0

for number in odds:
    print(number)
1

Perhatikan bahwa potongan yang diambil dimulai dengan entri pertama dalam rentang, diikuti dengan entri yang diambil pada interval dengan jarak yang sama (langkah-langkah) sesudahnya. Jika Anda ingin memulai subset dengan entri ketiga, Anda perlu menentukannya sebagai titik awal rentang irisan

for number in odds:
    print(number)
2

for number in odds:
    print(number)
_3

Gunakan argumen ukuran langkah untuk membuat string baru yang hanya berisi setiap karakter lain dalam string "Di taman gurita di tempat teduh"

for number in odds:
    print(number)
_4

for number in odds:
    print(number)
5

Larutan

Untuk mendapatkan setiap karakter lain, Anda perlu memberikan potongan dengan ukuran langkah 2

for number in odds:
    print(number)
_6

Anda juga dapat mengabaikan awal dan akhir irisan untuk mengambil seluruh string dan hanya menyediakan argumen langkah untuk setiap elemen kedua

for number in odds:
    print(number)
_7

Jika Anda ingin mengambil irisan dari awal urutan, Anda dapat menghilangkan indeks pertama dalam rentang tersebut

for number in odds:
    print(number)
_8

for number in odds:
    print(number)
_9

Demikian pula, Anda dapat menghilangkan indeks akhir dalam rentang untuk mengambil potongan hingga akhir urutan

1
3
5
7
0

1
3
5
7
_1

Kelebihan beban

1
3
5
7
_9 biasanya berarti penambahan, tetapi ketika digunakan pada string atau daftar, itu berarti "menggabungkan". Mengingat itu, menurut Anda apa yang dilakukan operator perkalian
names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
print('names is originally:', names)
names[1] = 'Darwin'  # correct the name
print('final value of names:', names)
0 pada daftar?

1
3
5
7
_2

  1. names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
    print('names is originally:', names)
    names[1] = 'Darwin'  # correct the name
    print('final value of names:', names)
    
    1
  2. names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
    print('names is originally:', names)
    names[1] = 'Darwin'  # correct the name
    print('final value of names:', names)
    
    2
  3. names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
    print('names is originally:', names)
    names[1] = 'Darwin'  # correct the name
    print('final value of names:', names)
    
    3
  4. names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
    print('names is originally:', names)
    names[1] = 'Darwin'  # correct the name
    print('final value of names:', names)
    
    4

Istilah teknis untuk ini adalah kelebihan beban operator. satu operator, seperti

1
3
5
7
_9 atau
names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
print('names is originally:', names)
names[1] = 'Darwin'  # correct the name
print('final value of names:', names)
0, dapat melakukan hal yang berbeda tergantung pada apa yang diterapkan

Larutan

Operator perkalian

names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
print('names is originally:', names)
names[1] = 'Darwin'  # correct the name
print('final value of names:', names)
0 yang digunakan pada daftar mereplikasi elemen daftar dan menggabungkannya bersama-sama

1
3
5
7
_3

Ini setara dengan

1
3
5
7
_4

Poin Kunci

  • names = ['Curie', 'Darwing', 'Turing']  # typo in Darwin's name
    print('names is originally:', names)
    names[1] = 'Darwin'  # correct the name
    print('final value of names:', names)
    
    8 membuat daftar

  • Daftar dapat berisi objek Python apa pun, termasuk daftar (mis. e. , daftar daftar)

  • Daftar diindeks dan diiris dengan tanda kurung siku (mis. g. , daftar[0] dan daftar[2. 9]), dengan cara yang sama seperti string dan array

    Bisakah kita mengonversi string ke daftar dengan Python?

    Python String adalah rangkaian karakter. Kita dapat mengonversinya menjadi daftar karakter menggunakan fungsi bawaan list() . Saat mengonversi string ke daftar karakter, spasi putih juga diperlakukan sebagai karakter. Juga, jika ada spasi putih di depan dan di belakang, mereka juga merupakan bagian dari elemen daftar.

    Bagaimana cara menggabungkan string ke dalam daftar?

    Anda dapat menggabungkan daftar string menjadi string tunggal dengan metode string, join() . Panggil metode join() dari 'String to insert' dan berikan [Daftar string]. Jika Anda menggunakan string kosong '' , [Daftar string] hanya digabungkan, dan jika Anda menggunakan koma , , itu membuat string yang dibatasi koma.

    Apa cara terbaik untuk mengubah string Python menjadi daftar?

    Metode split() adalah metode yang direkomendasikan dan paling umum digunakan untuk mengonversi string ke daftar dengan Python.

    Bagaimana Anda mengubah daftar objek menjadi daftar string dengan Python?

    Untuk mengonversi daftar menjadi string, gunakan Pemahaman Daftar Python dan fungsi join() . Pemahaman daftar akan melintasi elemen satu per satu, dan metode join() akan menggabungkan elemen daftar menjadi string baru dan mengembalikannya sebagai output.