Elemen daftar gabungan python dengan pembatas

Ada sedikit jaminan dalam hidup. kematian, pajak, dan pemrogram perlu berurusan dengan string. String bisa datang dalam berbagai bentuk. Itu bisa berupa teks tidak terstruktur, nama pengguna, deskripsi produk, nama kolom basis data, atau apa pun yang kami jelaskan menggunakan bahasa

Dengan data string yang hampir ada di mana-mana, penting untuk menguasai alat perdagangan terkait string. Untungnya, Python membuat manipulasi string menjadi sangat sederhana, terutama jika dibandingkan dengan bahasa lain dan bahkan versi Python yang lebih lama

Pada artikel ini, Anda akan mempelajari beberapa operasi string yang paling mendasar. membelah, menggabungkan, dan menggabungkan. Anda tidak hanya akan mempelajari cara menggunakan alat ini, tetapi Anda akan mendapatkan pemahaman yang lebih dalam tentang cara kerjanya di balik terpal

Ikuti Kuis. Uji pengetahuan Anda dengan kuis interaktif “Memisahkan, Menyatukan, dan Menggabungkan String dengan Python”. Setelah selesai Anda akan menerima skor sehingga Anda dapat melacak kemajuan belajar Anda dari waktu ke waktu

Ikuti Kuis »

Bonus Gratis. Klik di sini untuk mendapatkan Cheat Sheet Python dan mempelajari dasar-dasar Python 3, seperti bekerja dengan tipe data, kamus, daftar, dan fungsi Python

Pemisahan String

Dalam Python, string direpresentasikan sebagai objek, yang tidak dapat diubah. ini berarti bahwa objek yang direpresentasikan dalam memori tidak dapat diubah secara langsung. Kedua fakta ini dapat membantu Anda mempelajari (dan kemudian mengingat) cara menggunakan

# Do this instead:
'a,b,c'.split(',')
9

Pernahkah Anda menebak bagaimana kedua fitur string tersebut berhubungan dengan fungsi pemisahan di Python? . Dalam beberapa bahasa lain (seperti Perl), string asli berfungsi sebagai input ke fungsi

# Do this instead:
'a,b,c'.split(',')
9 mandiri daripada metode yang dipanggil pada string itu sendiri

Catatan. Cara Memanggil Metode String

Metode string seperti

# Do this instead:
'a,b,c'.split(',')
_9 terutama ditampilkan di sini sebagai metode contoh yang dipanggil pada string. Mereka juga dapat disebut sebagai metode statis, tetapi ini tidak ideal karena lebih “bertele-tele”. Demi kelengkapan, inilah contohnya

# Avoid this:
str.split('a,b,c', ',')
_

Ini besar dan berat bila Anda membandingkannya dengan penggunaan pilihan

# Do this instead:
'a,b,c'.split(',')

Untuk informasi lebih lanjut tentang metode instance, class, dan statis di Python, lihat tutorial mendalam kami

Bagaimana dengan kekekalan string?

Catatan. Operasi di Tempat

Operasi di tempat adalah operasi yang secara langsung mengubah objek tempat mereka dipanggil. Contoh umum adalah metode

>>> 'this is my string'.split()
['this', 'is', 'my', 'string']
_3 yang digunakan pada daftar. ketika Anda memanggil
>>> 'this is my string'.split()
['this', 'is', 'my', 'string']
_3 pada daftar, daftar itu langsung diubah dengan menambahkan input ke
>>> 'this is my string'.split()
['this', 'is', 'my', 'string']
3 ke daftar yang sama

Hilangkan iklan

Pemisahan Tanpa Parameter

Sebelum masuk lebih dalam, mari kita lihat contoh sederhana

>>>

>>> 'this is my string'.split()
['this', 'is', 'my', 'string']
_

Ini sebenarnya adalah kasus khusus dari panggilan

# Do this instead:
'a,b,c'.split(',')
_9, yang saya pilih karena kesederhanaannya. Tanpa pemisah apa pun yang ditentukan,
# Do this instead:
'a,b,c'.split(',')
_9 akan menghitung spasi apa pun sebagai pemisah

Fitur lain dari panggilan kosong ke

# Do this instead:
'a,b,c'.split(',')
_9 adalah bahwa ia secara otomatis memotong spasi kosong di depan dan di belakang, serta spasi kosong berurutan. Bandingkan panggilan
# Do this instead:
'a,b,c'.split(',')
_9 pada string berikut tanpa parameter pemisah dan dengan memiliki
>>> s = ' this   is  my string '
>>> s.split()
['this', 'is', 'my', 'string']
>>> s.split(' ')
['', 'this', '', '', 'is', '', 'my', 'string', '']
0 sebagai parameter pemisah

>>>

>>> s = ' this   is  my string '
>>> s.split()
['this', 'is', 'my', 'string']
>>> s.split(' ')
['', 'this', '', '', 'is', '', 'my', 'string', '']
_

Hal pertama yang perlu diperhatikan adalah bahwa ini menampilkan kekekalan string dalam Python. panggilan berikutnya ke

# Do this instead:
'a,b,c'.split(',')
_9 bekerja pada string asli, bukan pada daftar hasil panggilan pertama ke
# Do this instead:
'a,b,c'.split(',')
9

Hal kedua—dan utama—yang harus Anda lihat adalah panggilan kosong

# Do this instead:
'a,b,c'.split(',')
9 mengekstrak kata-kata dalam kalimat dan membuang spasi apa pun

Menentukan Pemisah

>>> s = ' this   is  my string '
>>> s.split()
['this', 'is', 'my', 'string']
>>> s.split(' ')
['', 'this', '', '', 'is', '', 'my', 'string', '']
_4, di sisi lain, jauh lebih literal. Saat ada pemisah awal atau akhir, Anda akan mendapatkan string kosong, yang dapat Anda lihat di elemen pertama dan terakhir dari daftar yang dihasilkan

Jika ada beberapa pemisah berurutan (seperti antara "ini" dan "adalah" dan antara "adalah" dan "milikku"), yang pertama akan digunakan sebagai pemisah, dan yang berikutnya akan masuk ke daftar hasil Anda

Catatan. Pemisah dalam Panggilan ke

# Do this instead:
'a,b,c'.split(',')
_9

Sementara contoh di atas menggunakan karakter spasi tunggal sebagai input pemisah ke

# Do this instead:
'a,b,c'.split(',')
9, Anda tidak dibatasi dalam jenis karakter atau panjang string yang Anda gunakan sebagai pemisah. Satu-satunya persyaratan adalah pemisah Anda berupa string. Anda bisa menggunakan apa saja dari
>>> s = ' this   is  my string '
>>> s.split()
['this', 'is', 'my', 'string']
>>> s.split(' ')
['', 'this', '', '', 'is', '', 'my', 'string', '']
_7 bahkan
>>> s = ' this   is  my string '
>>> s.split()
['this', 'is', 'my', 'string']
>>> s.split(' ')
['', 'this', '', '', 'is', '', 'my', 'string', '']
8

Membatasi Perpecahan Dengan Maxsplit

# Do this instead:
'a,b,c'.split(',')
_9 memiliki parameter opsional lain yang disebut
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
0. Secara default,
# Do this instead:
'a,b,c'.split(',')
_9 akan membuat semua kemungkinan pemisahan saat dipanggil. Saat Anda memberi nilai pada
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
_0, bagaimanapun, hanya jumlah pembagian yang diberikan yang akan dibuat. Menggunakan string contoh kita sebelumnya, kita dapat melihat
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
0 beraksi

>>>

>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
_

Seperti yang Anda lihat di atas, jika Anda menyetel

>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
_0 ke
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
5, wilayah spasi putih pertama digunakan sebagai pemisah, dan sisanya diabaikan. Mari kita lakukan beberapa latihan untuk menguji semua yang telah kita pelajari sejauh ini

Latihan. "Cobalah sendiri. Maxsplit"Tampilkan/Sembunyikan

Apa yang terjadi jika Anda memberikan angka negatif sebagai parameter

>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
0?

Solusi. "Cobalah sendiri. Maxsplit"Tampilkan/Sembunyikan

# Do this instead:
'a,b,c'.split(',')
9 akan membagi string Anda pada semua pemisah yang tersedia, yang juga merupakan perilaku default saat
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
0 tidak disetel

Latihan. "Pemeriksaan Pemahaman Bagian"Tampilkan/Sembunyikan

Anda baru-baru ini diberikan file nilai yang dipisahkan koma (CSV) yang diformat dengan sangat buruk. Tugas Anda adalah mengekstrak setiap baris ke dalam daftar, dengan setiap elemen dari daftar itu mewakili kolom dari file itu. Apa yang membuatnya diformat dengan buruk?

Asumsikan bahwa file Anda telah dimuat ke dalam memori sebagai string multibaris berikut

Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL

Output Anda harus berupa daftar daftar

[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]

Setiap daftar dalam mewakili baris CSV yang kami minati, sedangkan daftar luar menyatukan semuanya

Solusi. "Pemeriksaan Pemahaman Bagian"Tampilkan/Sembunyikan

Inilah solusi saya. Ada beberapa cara untuk menyerang ini. Yang penting adalah Anda menggunakan

# Do this instead:
'a,b,c'.split(',')
_9 dengan semua parameter opsionalnya dan mendapatkan hasil yang diharapkan

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))

Kami memanggil

# Do this instead:
'a,b,c'.split(',')
_9 dua kali di sini. Penggunaan pertama mungkin terlihat mengintimidasi, tapi jangan khawatir. Kami akan melewatinya, dan Anda akan merasa nyaman dengan ekspresi seperti ini. Mari kita lihat lagi panggilan ________0______9 pertama.
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_2

Elemen pertama adalah

Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_3, yang merupakan variabel yang menunjuk ke string input Anda. Kemudian kami melakukan panggilan
# Do this instead:
'a,b,c'.split(',')
_9.
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_5. Di sini, kita membagi karakter khusus yang disebut karakter baris baru

Apa yang

Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_6 lakukan? . Dalam string multiline seperti
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_7 kami, ada
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
6 tersembunyi di akhir setiap baris

Bagian terakhir mungkin baru.

Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
_9. Pernyataan tersebut sejauh ini memberi kita daftar baru dalam memori, dan
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
9 terlihat seperti notasi indeks daftar, dan ini adalah—semacam. Notasi indeks yang diperluas ini memberi kita potongan daftar. Dalam hal ini, kami mengambil elemen pada indeks
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
5 dan semuanya setelahnya, membuang elemen pada indeks
[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
2

Secara keseluruhan, kami mengulang melalui daftar string, di mana setiap elemen mewakili setiap baris dalam string input multiline kecuali untuk baris pertama

Pada setiap string, kita memanggil

# Do this instead:
'a,b,c'.split(',')
_9 lagi menggunakan
[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
4 sebagai karakter pemisah, tetapi kali ini kita menggunakan
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
0 untuk hanya memisahkan dua koma pertama, membiarkan alamat tetap utuh. Kami kemudian menambahkan hasil panggilan itu ke array
[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
6 yang diberi nama tepat dan mengembalikannya ke pemanggil

Hilangkan iklan

Menggabungkan dan Menggabungkan String

Operasi string dasar lainnya adalah kebalikan dari pemisahan string. rangkaian string. Jika Anda belum pernah melihat kata ini, jangan khawatir. Itu hanya cara yang bagus untuk mengatakan “merekatkan bersama. ”

Menggabungkan Dengan [ ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'], ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'], ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL'] ] _7 Operator

Ada beberapa cara untuk melakukan ini, tergantung pada apa yang ingin Anda capai. Metode paling sederhana dan paling umum adalah dengan menggunakan simbol plus (

[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
7) untuk menambahkan beberapa string secara bersamaan. Cukup tempatkan
[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
7 di antara sebanyak mungkin string yang ingin Anda gabungkan

>>>

>>> 'a' + 'b' + 'c'
'abc'
_

Sesuai dengan tema matematika, Anda juga dapat mengalikan string untuk mengulanginya

>>>_______ 60 ________

>>> 'do' * 2
'dodo'

Ingat, string tidak dapat diubah. Jika Anda menggabungkan atau mengulangi string yang disimpan dalam variabel, Anda harus menetapkan string baru ke variabel lain untuk mempertahankannya.

>>>

# Do this instead:
'a,b,c'.split(',')
0

Jika kita tidak memiliki string yang tidak dapat diubah,

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
0 akan menghasilkan
input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
1

Catatan lain adalah bahwa Python tidak melakukan konversi string implisit. Jika Anda mencoba menggabungkan string dengan tipe non-string, Python akan memunculkan

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
2

>>>

# Do this instead:
'a,b,c'.split(',')
1

Ini karena Anda hanya dapat menggabungkan string dengan string lain, yang mungkin merupakan perilaku baru bagi Anda jika Anda berasal dari bahasa seperti JavaScript, yang mencoba melakukan konversi tipe implisit

Pergi Dari Daftar ke String dengan Python Dengan input_string = """Name,Phone,Address Mike Smith,15554218841,123 Nice St, Roy, NM, USA Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL""" def string_split_ex(unsplit): results = [] # Bonus points for using splitlines() here instead, # which will be more readable for line in unsplit.split('\n')[1:]: results.append(line.split(',', maxsplit=2)) return results print(string_split_ex(input_string)) 3

Ada cara lain yang lebih kuat untuk menyatukan string. Anda dapat beralih dari daftar ke string dengan Python dengan metode

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
4

Kasus penggunaan umum di sini adalah ketika Anda memiliki iterable—seperti daftar—yang terdiri dari string, dan Anda ingin menggabungkan string tersebut menjadi satu string. Seperti

# Do this instead:
'a,b,c'.split(',')
_9,
input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3 adalah metode instance string. Jika semua string Anda dalam iterable, yang mana yang Anda panggil
input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3?

Ini sedikit pertanyaan jebakan. Ingatlah bahwa ketika Anda menggunakan

# Do this instead:
'a,b,c'.split(',')
9, Anda memanggilnya pada string atau karakter yang ingin Anda pisahkan. Operasi kebalikannya adalah
input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3, jadi Anda memanggilnya pada string atau karakter yang ingin Anda gunakan untuk menggabungkan iterable string Anda bersama-sama

>>>

# Do this instead:
'a,b,c'.split(',')
2

Di sini, kami menggabungkan setiap elemen dari daftar

>>> 'a' + 'b' + 'c'
'abc'
_0 dengan koma (
[
    ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'],
    ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'],
    ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL']
]
4) dan memanggil
input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3 daripada daftar
>>> 'a' + 'b' + 'c'
'abc'
0

Latihan. "Peningkatan Keterbacaan dengan Gabung"Tampilkan/Sembunyikan

Bagaimana Anda bisa membuat teks keluaran lebih mudah dibaca?

Solusi. "Peningkatan Keterbacaan dengan Gabung"Tampilkan/Sembunyikan

Satu hal yang dapat Anda lakukan adalah menambahkan spasi

>>>

# Do this instead:
'a,b,c'.split(',')
3

Dengan melakukan tidak lebih dari menambahkan spasi ke string gabungan kami, kami telah sangat meningkatkan keterbacaan output kami. Ini adalah sesuatu yang harus selalu Anda ingat saat menggabungkan string agar mudah dibaca manusia

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3 pintar karena memasukkan "joiner" Anda di antara string di iterable yang ingin Anda gabung, daripada hanya menambahkan joiner Anda di akhir setiap string di iterable. Ini berarti bahwa jika Anda melewati iterable ukuran
>>> s = "this is my string"
>>> s.split(maxsplit=1)
['this', 'is my string']
5, Anda tidak akan melihat joiner Anda

>>>

# Do this instead:
'a,b,c'.split(',')
4

Latihan. "Pemeriksaan Pemahaman Bagian"Tampilkan/Sembunyikan

Dengan menggunakan tutorial pengikisan web kami, Anda telah membuat pengikis cuaca yang hebat. Namun, itu memuat informasi string dalam daftar daftar, masing-masing berisi baris informasi unik yang ingin Anda tulis ke file CSV

# Do this instead:
'a,b,c'.split(',')
5

Output Anda harus berupa string tunggal yang terlihat seperti ini

# Do this instead:
'a,b,c'.split(',')
_6

Solusi. "Pemeriksaan Pemahaman Bagian"Tampilkan/Sembunyikan

Untuk solusi ini, saya menggunakan pemahaman daftar, yang merupakan fitur kuat dari Python yang memungkinkan Anda membuat daftar dengan cepat. Jika Anda ingin mempelajari lebih lanjut tentang mereka, lihat artikel hebat ini yang mencakup semua pemahaman yang tersedia di Python

Di bawah ini adalah solusi saya, dimulai dengan daftar daftar dan diakhiri dengan satu string

# Do this instead:
'a,b,c'.split(',')
_7

Di sini kita menggunakan

input_string = """Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL"""

def string_split_ex(unsplit):
    results = []

    # Bonus points for using splitlines() here instead, 
    # which will be more readable
    for line in unsplit.split('\n')[1:]:
        results.append(line.split(',', maxsplit=2))

    return results

print(string_split_ex(input_string))
3 tidak hanya sekali, tapi dua kali. Pertama, kami menggunakannya dalam pemahaman daftar, yang berfungsi menggabungkan semua string di setiap daftar dalam menjadi satu string. Selanjutnya, kita gabungkan setiap string tersebut dengan karakter baris baru
Name,Phone,Address
Mike Smith,15554218841,123 Nice St, Roy, NM, USA
Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA
Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL
6 yang kita lihat tadi. Akhirnya, kami cukup mencetak hasilnya sehingga kami dapat memverifikasi bahwa itu seperti yang kami harapkan

Hilangkan iklan

Mengikat Semuanya Bersama

Meskipun ini menyimpulkan ikhtisar tentang operasi string paling dasar di Python (pemisahan, penggabungan, dan penggabungan), masih ada seluruh dunia metode string yang dapat membuat pengalaman Anda memanipulasi string jauh lebih mudah

Setelah Anda menguasai operasi string dasar ini, Anda mungkin ingin mempelajari lebih lanjut. Untungnya, kami memiliki sejumlah tutorial bagus untuk membantu Anda menyelesaikan penguasaan fitur Python yang memungkinkan manipulasi string cerdas

  • f-String Python 3. Sintaks Pemformatan String yang Disempurnakan
  • Praktik Terbaik Pemformatan String Python
  • Data String dan Karakter dengan Python

Ikuti Kuis. Uji pengetahuan Anda dengan kuis interaktif “Memisahkan, Menyatukan, dan Menggabungkan String dengan Python”. Setelah selesai Anda akan menerima skor sehingga Anda dapat melacak kemajuan belajar Anda dari waktu ke waktu

Ikuti Kuis »

Tandai sebagai Selesai

Tonton Sekarang Tutorial ini memiliki kursus video terkait yang dibuat oleh tim Real Python. Tonton bersama dengan tutorial tertulis untuk memperdalam pemahaman Anda. Memisahkan, Menggabungkan, dan Menggabungkan String dengan Python

🐍 Trik Python 💌

Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python

Elemen daftar gabungan python dengan pembatas

Kirimi Saya Trik Python »

Tentang Kyle Stratis

Elemen daftar gabungan python dengan pembatas
Elemen daftar gabungan python dengan pembatas

Kyle adalah pengembang otodidak yang bekerja sebagai insinyur data senior di Vizit Labs. Di masa lalu, dia mendirikan DanqEx (sebelumnya Nasdanq. bursa meme asli) dan Encryptid Gaming

» Lebih lanjut tentang Kyle


Setiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah

Elemen daftar gabungan python dengan pembatas

Adriana

Elemen daftar gabungan python dengan pembatas

Brad

Elemen daftar gabungan python dengan pembatas

Dan

Elemen daftar gabungan python dengan pembatas

Joanna

Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista

Tingkatkan Keterampilan Python Anda »

Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python

Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista

Tingkatkan Keterampilan Python Anda »

Bagaimana menurutmu?

Nilai artikel ini

Tweet Bagikan Bagikan Email

Apa takeaway # 1 Anda atau hal favorit yang Anda pelajari?

Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami

Bagaimana Anda menggabungkan daftar dengan pemisah dengan Python?

Menggunakan metode join() untuk menggabungkan item dalam daftar menjadi string tunggal. join() adalah fungsi string bawaan di Python yang digunakan untuk menggabungkan elemen urutan yang dipisahkan oleh pemisah string. Fungsi ini menggabungkan elemen urutan dan membuatnya menjadi string.

Bagaimana Anda menggabungkan dua elemen dalam daftar dengan Python?

Berikut ini adalah 6 cara menggabungkan daftar dengan Python. .
gabungan (+) operator
Metode Naif
Daftar Pemahaman
memperpanjang() metode
operator '*'
itertools. rantai() metode

Cara mengonversi elemen daftar menjadi koma

Bagaimana Cara Mengonversi Daftar Python menjadi String yang Dipisahkan Koma? . use the . gabungkan metode string untuk mengonversi daftar menjadi string . Jadi sekali lagi, sintaksnya adalah [pemisah].