Kategori
Python

Struktur Data

Struktur data pada dasarnya merupakan struktur yang dapat menyimpan data secara bersama-sama. Dengan kata lain, mereka digunakan untuk menyimpan koleksi data yang berkaitan satu sama lain.

Ada empat struktur data built-in di Python – list, tuple, dictionary dan set. Kita akan lihat bagaimana penggunaan masing-masing dan bagaimana struktur data tersebut dapat mempermudah hidup kita.

List

list adalah struktur data yang meyimpan koleksi item yang ditempatkan secara berurut. Misalnya Anda dapat menyimpan item berurut(sequence) di dalam list. Hal itu sangat mudah dimengerti jika Anda dapat membayangkan daftar belanja, di mana Anda punya daftar item yang harus dibeli. Namun jika di daftar belanja Anda membariskan item dengan baris baru, di Python Anda cukup meletakkan koma di antaranya.

Penulisan list harus diapit dalam tanda kurung kotak (square bracket), sehingga Python dapat memahami bahwa Anda sedang membuat list. Sekali Anda buat list, Anda dapat menambah, menghapus atau mencari item di dalam list. Karena kita bisa menambah dan menguranginya, kita dapat katakan bahwa list termasuk tipe data mutable – yang berarti nilainya bisa diganti.

Pengenalan Singkat Object (Objek) dan Classes (Kelas)

Meskipun saya menunda pembahasan tentang object dan class hingga sekarang, saat ini penjelasan sedikit dibutuhkan sehingga Anda dapat memahami list secara lebih baik. Kita akan mengeksplorasi topik ini secara lebih detail di bab berikutnya.

List adalah contoh yang bisa dipahami tentang penggunaan object dan class. Ketika kita menggunakan variabel bernama i dan memberi nilai terhadap variabel tersebut, misalnya integer 5, Anda dapat berpikir membuat object (berupa instance) i dari class (berupa tipe) int. Sebagai bantuan, Anda dapat membaca help(int) untuk memahaminya lebih baik.

Sebuah class juga memiliki methods/metode berupa fungsi yang didefinisikan khusus hanya untuk class tersebut. Anda dapat menggunakan fungsi bagian ini, jika dan hanya jika Anda mendeklarasikan objek dari class tersebut. Sebagai contoh, Python memberikan metode append untuk class list yang memungkinkan Anda menambah item di akhir list. Misalnya listku.append('sesuatu') yang akan menambahkan string tersebut (sesuatu) di akhirlistku`. Perhatikan penggunaan notasi bertitik untuk mengakses method dari sebuah object.

Sebuah class juga punya fields yang merupakan variabel tapi hanya digunakan untuk class tersebut. Anda dapat menggunakan variabel atau nama ini, hanya ketika Anda mendeklarasikan objek dari kelas tersebut. Fields juga diakses lewat notasi bertiti, sebagai contoh, listku.field.

Contoh (simpan dengan nama menggunakan_list.py):

# Berikut adalah daftar belanja saya
daftarbelanja = ['apel', 'mangga', 'wortel', 'pisang']

print('Saya memiliki ', len(daftarbelanja), ' barang untuk dibeli.')

print('Barang tersebut adalah:', end=' ')
for item in daftarbelanja:
    print(item, end=' ')

print('\nSaya juga harus membeli beras.')
daftarbelanja.append('beras')
print('Daftar belanja saya sekarang', shoplist)

print('Saya akan mengurutkan daftar saya sekarang')
daftarbelanja.sort()
print('Daftar belanja yang sudah diurutkan adalah', shoplist)

print('Barang pertama yang akan saya beli adalah', shoplist[0])
olditem = daftarbelanja[0]
del daftarbelanja[0]
print('Saya telah membeli', olditem)
print('Daftar belanja saya sekarang ', daftarbelanja)

Keluaran:

$ python3 menggunakan_list.py
Saya memiliki 4 barang untuk dibeli.
Barang tersebut adalah: apel mangga wortel pisang
Saya juga harus membeli beras.
Daftar belanja saya sekarang ['apel', 'mangga', 'wortel', 'pisang', 'beras']
Saya akan mengurutkan daftar saya sekarang
Daftar belanja yang sudah diurutkan adalah ['apel', 'beras', 'mangga', 'pisang', 'wortel']
Barang pertama yang akan saya beli adalah apel
Saya telah membeli apel
Daftar belanja saya sekarang ['beras', 'mangga', 'pisang', 'wortel']

Bagaimana Cara Kerjanya:

Variabel daftarbelanja adalah daftar belanja seseorang yang akan pergi ke pasar. Di dalam daftarbelanja, kita hanya menyimpan nama string yang akan dibeli, tapi Anda dapat menambahkan segala macam jenis objek ke dalam daftar, termasuk angka, bahkan bisa juga list lainnya.

Kita juga dapat menggunakan putaran for..in untuk mengulangi seluruh item di dalam list. Sekarang, harusnya Anda juga sudah mulai memahami bahwa list juga merupakan urutan (sequence). Kekhususan dari sequence akan didiskusikan di bagian berikutnya.

Perhatikan bahwa argumen keyword end di dalam fungsi print mengindikasikan bahwa kita ingin outputnya diakhiri dengan spasi daripada baris baru seperti biasanya.

Berikutnya, kita menambahkan item ke dalam list dengan menggunakan metode append ke dalam object list, sebagaimana telah didiskusikan sebelumnya. Lalu kita periksa apakah itemnya sudah dimasukkan ke dalam list atau belum dengan mencetaknya ke layar dengan rapi, cukup dengan memberikan perintah print.

Lalu kita sortir listnya dengan menggunakan metode sort. Penting untuk dipahami bahwa metode ini akan berpengaruh ke dalam listnya sendiri, dan tidak akan mengembalikan list yang telah dimodifikasi. Hal ini berbeda dengan cara kerja string. Ini kenapa list disebut sebagai mutable sedangkan string disebut immutable.

Selanjutnya, ketika kita selesai belanja di pasar, kita akan menghapus item yang sudah dibeli dari daftar. Ini dapat dilakukan dengan menggunakan perintah del. Di sini cukup dimasukkan item-item yang akan dihapus, statemen del akan menghapuskannya untuk kita. Kita menentukan item pertama dari daftar yang akan dihapus mulai dari 0, sehingga perintahnya adalah del shoplist[0] (ingat bahwa Python selalu mulai penghitungan dari 0).

Jika Anda ingin tahu semua metode yang didefinisikan oleh object list, ketikkan help(list) dari konsol python untuk detailnya.

Tuple

Tuples digunakan untuk menyimpan object lebih dari satu secara bersamaan. Bayangkan hal ini mirip dengan list, tapi tanpa fungsi yang diberikan class list untuk Anda. Salah satu fitur tuples adalah immutable seperti string. Dengan kata lain Anda tidak bisa modifikasi tuples.

Tuples didefinisikan dengan menentukan item dipisahkan oleh koma, dengan tambahan pilihan dalam kurung (tidak wajib).

Tuples biasanya digunakan dalam kasus di mana sebuah statemen atau fungsi yang didefinisikan sendiri dapat berasumsi bahwa nilai di dalamnya tidak berubah. Atau dengan kata lain nilai dari sebuah tuple tidak akan pernah berubah.

Contoh (simpan dengan nama menggunakan_tuple.py):

bonbin = ('piton', 'gajah', 'penguin') # ingat bahwa tanda kurung tidak wajib
print('Hewan di kebon binatang berjumlah ', len(bonbin))

bonbin_baru = 'monyet', 'onta', bonbin
print('Kerangkeng di kebun binatang baru berjumlah ', len(bonbin_baru))
print('Semua binatang di kebun binatang terdiri', bonbin_baru)
print('Binatang yang dibawa dari kebun binatang lama adalah ', bonbin_baru[2])
print('Binatang terakhir yang dibawa dari kebun binatang lama adalah', bonbin_baru[2][2])
print('Jumlah seluruh binatang adalah', len(bonbin_baru)-1+len(bonbin_baru[2]))

Keluaran:

$ python3 using_tuple.py
Hewan di kebon binatang berjumlah 3
Kerangkeng di kebun binatang baru berjumlah 3
Semua binatang di kebun binatang terdiri ('monyet', 'onta', ('piton', 'gajah', 'penguin'))
Binatang yang dibawa dari kebun binatang lama adalah  ('piton', 'gajah', 'penguin')
Binatang terakhir yang dibawa dari kebun binatang lama adalah penguin
Jumlah seluruh binatang adalah 5

Bagaimana Cara Kerjanya:

Variabel bonbin merujuk pada sebuah tuple. Kita lihat bahwa fungsi len dapat digunakan untuk mencari panjang sebuah tuple. Ini juga mengindikasikan bahwa tuple juga merupakan sequence.

Kita sekarang memindahkan binatang-binatang ini ke dalam kebun binatang baru mengingat kebun binatang lama sudah ditutup. Sehingga, tuple bonbin_baru berisi binatang-binatang yang sebelumnya sudah ada, dan binatang yang dibawa dari kebon binatang lama. Kembali ke dunia nyata, catat bahwa tuple di dalam tuple tidak pernah kehilangan identitas.

Kita dapat mengakses item di dalam tuple, dengan menyebutkan posisi item di dalam tanda kurung kotak sebagaimana yang telah kita lakukan terhadap lists. Ini dinamakan operator indexing. Kita mengakses item ketiga dari bonbin_baru dengan menyebutkan bonbin_baru[2] dan kita mengakses item ketiga di dalam item ketiga tuple bonbin_baru dengan menyebutkan bonbin_baru[2][2]. Ini cukup mudah jika Anda memahami idiomnya.Tanda Dalam Kurung (parentheses)

Meskipun dalam kurung tidak bersifat wajib, Saya lebih anjurkan untuk selalu menggunakannya, untuk menunjukkan hal tersebut adalah tuple. Hal ini menghindari ambiguitas. Sebagai contoh print(1,2,3) dan print( (1,2,3) ) memiliki arti yang berbeda – di mana print yang pertama menetak tiga angka, sedangkan print kedua mencetak sebuah tuple (yang berisi tiga angka).Tuple dengan item 0 atau 1

Sebuah tuple kosong dibuat dari tanda kurung kosong, seperti misalnya kosong = (). Bagaimanapun juga, tuple dengan satu item tidak sesederhana itu. Anda harus menyebutkannya dengan koma diikuti dengan item pertama (dan satu-satunya) sehingga Python dapat membedakan antara tuple dengan tanda kurung berpasangan yang mengelilingi ekspresi objek. Anda harus menyebutkan singleton = (2,) jika Anda ingin membuat sebuah tuple yang berisi angka 2.Catatan untuk programmer Perl

Sebuah list di dalam list tidak akan kehilangan identitas, dengan kata lain list tidak disatukan sebagaimana di dalam Perl. Ini juga berlaku untuk tuple di dalam tuple, atau list di dalam tuple dan seterusnya. Sejauh yang diperhatikan oleh Python, mereka hanyalah objects yang menyimpan objects lainnya. Tidak ada pertimbangan lain.

Pustaka (dictionary)

Pustaka seperti buku-alamat di mana Anda dapat menemukan alamat atau detail kontak seseorang hanya dengan mengetahui namanya. Dengan kata lain kita asosiasikan kunci atau keys (nama) dengan nilai atau value (informasi detail). Perlu dicatat bahwa kunci dalam sebuah pustaka haruslah unik dan Anda tidak dapat menemukan informasi yang benar jika dua orang punya nama yang sama.

Mohon dicatat bahwa Anda hanya dapat menggunakan immutable objects (objek yang tidak bisa dimutasi/diubah jenisnya seperti string) untuk kunci sebuah pustaka namun Anda dapat menggunakan objek yang bisa berubah bentuk (mutable object) maupun objek yang tidak bisa berubah bentuk (immutable objects). Dengan kata lain Anda seharusnya menggunakan objek yang sederhana untuk kunci.

Pasangan kunci dan nilainya yang digunakan dalam pustaka mengunakan notasi d = {kunci1: nilai1, kunci2:nilai2}. Perhatikan bahwa pasangan kunci-nilai dipisahkan dengan titik dua dan pasangan tersebut dipisahkan dengan koma hingga ditutup dengan kurung kurawal penutup.

Perlu diingat bahwa pasangan kunci-nilai di dalam pustaka tidak bisa diurutkan. Jika Anda ingin mengurutkannya secara khusus, Anda harus malkukan pengurutan (sort) sebelum menggunakannya.

Pusaka yang Anda gunakan merupakan instance/objek dari kelas dict.

Contoh (simpan dengan nama menggunakan_pustaka.py):

# 'ba' adalah kepanjangan dari 'b'uku 'a'lamat 

ba = {  'Swaroop'   : 'swaroop@swaroopch.com',
        'Larry'     : 'larry@wall.org',
        'Matsumoto' : 'matz@ruby-lang.org',
        'Spammer'   : 'spammer@hotmail.com'
    }

print("Alamat email Swaroop adalah ", ba['Swaroop'])

# Menghapus pasangan kunci-nilai
del ba['Spammer']

print('\nAda {0} kontak di buku alamat\n'.format(len(ba)))

for nama, alamat in ba.items():
    print('Kontak {0} memiliki alamat {1}'.format(name, address))

# Menambahkan pasangan kunci-nilai
ba['Guido'] = 'guido@python.org'

if 'Guido' in ba:
    print("\nAlamat email Guido adalah ", ab['Guido'])

Keluaran:

$ python3 menggunakan_pustaka.py
Alamat email Swaroop adalah swaroop@swaroopch.com

Ada 3 kontak di buku alamat

Kontak Swaroop memiliki alamat swaroop@swaroopch.com
Kontak Matsumoto memiliki alamat matz@ruby-lang.org
Kontak Larry memiliki alamat larry@wall.org

Alamat email Guido adalah guido@python.org

Bagaimana Cara Kerjanya

Kita membuat pustaka ba dengan notasi yang telah kita diskusikan sebelumnya. Lalu kita mengakses pasangan nilai-kunci dengan menyebutkan kunci dengan menggunakan operator indeks sesuai yang telah didiskusikan dalam konteks lists dan tuples. Coba teliti sintaks sederhananya.

Kita dapat menghapus pasangan kunci-nilai dengan menggunakan teman lama kita, statemen del. Kita cukup menyebut nama pustaka dan operator indeks sebagai kunci dan memberikannya pada statemen del. Nilainya tidak perlu kita ketahui untuk menjalankan perintah ini.

Berikutnya, kita mengakses pasangan kunci-nilai dari pustaka dengan menggunakan metode items yang mengembalikan daftar tuples, di mana masing-masing tuple berisi pasangan dari item tersebut – kunci diikuti dengan nilainya. Kita ambil pasangan tersebut dan menyematkan variabel nama dan alamat pada setiap pasangan lewat putaran for..in dan mencetak nilai di dalam blok-for.

Kita dapat menambahkan pasangan kunci-nilai, cukup dengan operator indeks untuk mengakses kunci dan memberikan nilainya, sebagaimana kita lakukan terhadap Guido dalam kasus di atas.

Kita dapat mengecek apakah pasangan kunci-nilai ada, dengan menggunakan operator in.

Untuk daftar metode dalam class dict, lihat lewat help(dict).Argumen Kata Kunci dan Pustaka

Dalam catatan yang lain, jika Anda harus menggunakan argumen kata kunci dalam fungsi Anda, maka Anda sudah menggunakan pustaka! Coba pikirkan kembali – pasangan kunci-nilai yang Anda tentukan dalam daftar parameter definisi fungi dan ketika Anda mengakses variabel dalam fungsi Anda, itu hanyalah sebuah kunci akses dari pustaka yang bersangkutan (biasanya disebut sebagai tabel simbol dalam terminologi desain kompiler).

Urutan (Sequence)

Listtuple dan string adalah contoh dari urutan(sequence), namun apa itu urutan dan apa yang khusus tentangnya?

Fitur utamanya adalah ujian keberadaan, (seperti ekspresi di in dan not in) dan operasi mengindeks, yang memungkinkan untuk mengambil item tertentu di dalam urutan secara langsung.

Ada tiga jenis urutan sebagaimana disebut di atas – list, tuple dan string, yang juga punya operasi mengiris yang memungkinkan kita untuk mengambil irisan dari urutan atau bagian dari urutan.

Contoh (simpan sebagai seq.py):

daftarbelanja = ['apel', 'mangga', 'wortel', 'pisang']
nama = 'swaroop'

# Operasi 'mengindeks' atau 'berlangganan'
print('Item 0 adalah', daftarbelanja[0])
print('Item 1 adalah', daftarbelanja[1])
print('Item 2 adalah', daftarbelanja[2])
print('Item 3 adalah', daftarbelanja[3])
print('Item -1 adalah', daftarbelanja[-1])
print('Item -2 adalah', daftarbelanja[-2])
print('Character 0 is', nama[0])

# Mengiris sebuah _list_
print('Item 1 ke 3 adalah', shoplist[1:3])
print('Item 2 ke end adalah', shoplist[2:])
print('Item 1 ke -1 adalah', shoplist[1:-1])
print('Item dari awal hingga akhir adalah', shoplist[:])

# Mengiris _string_
print('karakter 1 ke 3 adalah', nama[1:3])
print('karakter 2 ke terakhir adalah', nama[2:])
print('karakter 1 ke -1 adalah', nama[1:-1])
print('karakter dari awal hingga akhir adalah', nama[:])

Keluaran:

$ python3 seq.py
Item 0 adalah apel
Item 1 adalah mangga
Item 2 adalah wortel
Item 3 adalah pisang
Item -1 adalah pisang
Item -2 adalah wortel
Karakter 0 adalah s
Item 1 ke 3 adalah ['mangga', 'wortel']
Item 2 ke terakhir adalah ['wortel', 'pisang']
Item 1 ke -1 adalah ['mangga', 'wortel']
Item dari awal hingga akhir adalah ['apel', 'mangga', 'wortel', 'pisang']
karakter 1 ke 3 adalah wa
karakter 2 ke terakhir adalah aroop
karakter 1 ke -1 adalah waroo
karakter dari awal hingga akhir adalah swaroop

Bagaimana Cara Kerjanya

Pertama, kita lihat bagaimana menggunakan indeks untuk mengambil item satuan dari sebuah urutan. Ini juga bisa disebut sebagai operasi berlangganan. Saat Anda menyebutkan sebuah angka ke urutan dalam tanda kurung kotak sebagaimana yang ditampilkan di atas, Python akan mengambilkan untuk Anda, item yang berada dalam posisi bersangkutan dalam sebuah urutan. Ingat bahwa Python mulai menghitung angka dari 0. Sehingga daftarbelanja[0] akan mengambil item pertama dan daftarbelanjap3[ akan mengambil item ke empat dalam urutan daftarbelanja.

Indeks juga bisa berupa angka negatif, dalam kasus ini, posisinya akan dihitung dari akhir urutan. Sehingga daftarbelanja[-1] akan merujuk pada item terakhir dari sebuah urutan dan daftarbelanja[-2] mengambil angka kedua terakhir dalam urutan.

Operasi pengirisan digunakan dengan menyebut nama urutan dan bisa ditambahkan (tidak harus) angka atau pasangan angka yang dipisah dengan titik dua dalam tanda kurung kotak. Mohon dicatat bahwa ini sangat mirip dengan operasi mengindeks yang sudah Anda gunakan hingga sekarang. Dan perlu diingat bahwa angka tersebut tidak harus, namun titik dua adalah keharusan.

Angka pertama (sebelum titik dua) dalam operasi pengirisan merujuk pada posisi di mana irisan dimulai dan angka kedua (setelah titik dua) menunjukkan pada angka keberapa urutan akan berhenti. Jika angka kedua tidak diisi, Python akan menghentikannya hingga angka terakhir. Catat bahwa irisan akan mengembalikan angka awal pada posisi start dan akan berakhir satu angka sebelum posisi terakhir. Atau dengan kata lain posisi awal akan ikut dikembalikan namun posisi terakhir tidak akan diikutkan dalam potongan urutan.

Sehingga, daftarbelanja[1:3] akan mengembalikan iritasn yang dimulai pada posisi 1, termasuk psosisi dua namun berhenti di posisi tiga sehingga hanya dua irisan yang dikembalikan. Mirip dengan itu, daftarbelanja[:] akan mengembalikan seluruh urutan.

Anda juga dapat memotong dengan posisi negatif. Angka negatif digunakan untuk posisi dari akhir urutan. Sebagai contoh daftarbelanja[:-1] akan mengembalikan irisan dari urutan yang mengecualikan item terakhir dari urutan, namun menampilkan semua yang lainnya.

Anda juga dapat memberikan argumen ketiga dari potonga, merupakan langkah dari irisan (secara baku, langkah urutannya adalah 1):

>>> daftarbelanja = ['apel', 'mangga', 'wortel', 'pisang']
>>> daftarbelanja[::1]
['apel', 'mangga', 'wortel', 'pisang']
>>> daftarbelanja[::2]
['apel', 'wortel']
>>> daftarbelanja[::3]
['apel', 'pisang']
>>> daftarbelanja[::-1]
['pisang', 'wortel', 'mangga', 'apel']

Perhatikan bahwa ketika langkahnya 2, kita mengambil item dengan posisi 0, 2, … Dan ketika langkahnya 3, kita mengambil item pada posisi 0, 3, dan seterusnya.

Cobalah beberapa kombinasi dengan penggunaan sesuai spesifikasi urutan dengan menggunakan Python interpreter yang interaktif atau prompt sehingga Anda dapat melihat keluarannya secara langsung. Hal yang bagus pada urutan adalah bahwa Anda bisa mengakses tuple,list dan string dengan cara yang sama!

Set

Set adalah koleksi objek sederhana yang tidak berurut. Ini digunakan ketika keberadaan objek dalam sebuah koleksi lebih penting daripada urutannya atau berapa kali muncul.

Dengan menggunakan set Anda dapat mengetes keanggotaan, apakah dia merupakan subset dari set yang lain, menemukan interseksi dari dua set dan lainnya.

>>> bri = set(['brazil', 'rusia', 'india'])
>>> 'india' in bri
True
>>> 'usa' in bri
False
>>> bric = bri.copy()
>>> bric.add('china')
>>> bric.issuperset(bri)
True
>>> bri.remove('russia')
>>> bri & bric # ATAU bri.intersection(bric)
{'brazil', 'india'}

Bagaimana Cara Kerjanya:

Contoh berikut ini bisa menjelaskan-sendiri sebab melibatkan set dasar teori matematika yang diajarkan di sekolah.

Referensi

Ketika Anda membuat objek dan menyematkannya pada variable, variable tersebut hanya mereferensikan pada objek dan tidak merepresentasikan objek itu sendiri! Dengan kata lain, itu hanyalah nama variabel yang menunjukkan bagian dari memori komputer tempat di mana objek tersebut diletakkan. Ini disebut sebagai binding atau mengikat nama kepada objek tersebut.

Secara umum, Anda tidak perlu khawatir tentang hal ini, namun ada beberapa efek ringan atas referensi yang perlu Anda perhatikan:

Contoh (simpan sebagai referensi.py):

print('Tugas Sederhana')
daftarbelanja = ['apel', 'mangga', 'wortel', 'pisang']
daftarku = daftarbelanja # daftarku hanya sekadar nama yang merujuk pada objek yang sama!

del daftarbelanja[0] # Saya membeli item pertama, sehingga saya perlu menghapusnya dari daftar

print('daftar belanja ', daftarbelanja)
print('daftarku', daftarku)
# perhatikan bahwa daftarbelanja dan daftarku, keduanya mencetak hal yang sama 
# tanpa 'apel' mengonfirmasi bahwa keduanya merujuk pada objek yang sama

print('Salin dengan membuat irisan penuh')
daftarku = daftarbelanja[:] # membuat salinan lewat irisan penuh
del daftarku[0] # menghapus item pertama

print('daftar belanja ', daftarbelanja)
print('daftarku', daftarku)
# perhatikan perbedaan kedua list tersebut sekarang

Keluaran:

$ python3 referensi.py
Tugas Sederhana
daftar belanja ['mangga', 'wortel', 'pisang']
daftarku ['mangga', 'wortel', 'pisang']
Salin dengan membuat irisan penuh
daftar belanja ['mangga', 'wortel', 'pisang']
daftarku ['wortel', 'pisang']

Bagaimana Cara Kerjanya

Hampir semua penjelasan sudah ditulis di komentar.

Mohon diingat jika Anda ingin membuat salinan sebuah daftar (list) atau sejenis urutan (sequence) atau objek yang sedikit rumit (bukan objek sederhana seperti integer), Anda harus membuat operasi irisan untuk membuat salinan. Jika Anda hanya menyebut nama dengan nama variabel lain, keduanya akan ‘’merujuk’’ pada objek yang sama dan ini bisa menimbulkan masalah jika Anda tidak hati-hati.Catatan untuk programmer Perl

Ingat bahwa statemen penugasan seperti daftar (listtidak membuat salinan. Anda harus gunakan operasi irisan untuk menyalin sebuah urutan.

Lebih banyak tentang String

Kita telah mendiskusikan string secara lebih detail sebelumnya. Apa lagi yang bisa kita eksplorasi dari situ? Jika Anda tahu string adalah sebuah objek dan memiliki semua metode untuk melakukan berbagai operasi, seperti mengecek bagian atau bahkan menghapus spasi!

String yang Anda gunakan di dalam program merupakan objek dari kelas str. Beberapa metode yang bermanfaat didemonstrasikan dalam contoh berikut. Untuk daftar lengkap dari metode ini, lihat help(str).

Contoh (simpan dengan nama metode_str.py):

nama = 'Swaroop' # Ini adalah objek string

if name.startswith('Swa'):
    print('Ya, string dimulai dengan "Swa"')

if 'a' in name:
    print('Ya, string memiliki huruf "a"')

if name.find('war') != -1:
    print('Ya, string memiliki kata "war"')

delimiter = '_*_'
daftarku = ['Brazil', 'Russia', 'India', 'China']
print(delimiter.join(daftarku))

Keluaran:

$ python3 metode_str.py
Ya, string dimulai dengan "Swa"
Ya, string memiliki huruf "a"
Ya, string memiliki kata "war"
Brazil_*_Russia_*_India_*_China

Bagaimana Cara Kerjanya

Di sini kita lihat banyak metode string kita gunakan. Metode startswith digunakan untuk mengecek apakah objek tersebut dimulai dengan string sebagaimana dimaksud. Operator in digunakan untuk mengecek apakah suatu string (misal kata atau kumpulan huruf/angka) merupakan bagian dari string.

Metode find digunakan untuk mencari posisi substring di dalam string; find memberikan kembalian -1 jika tidak berhasil. Kelas str juga punya metode keren seperti join untuk menggabungkan item dari sebuah urutan dengan menggunakan string tertentu sebagai delimiter dari tiap item sehingga menghasilkan string baru yang lebih besar.

Ringkasan

Kita telah mengeksplorasi banyak struktur data built-in yang ada di Python secara detail Struktur data ini esensial dalam menulis program dalam ukuran apa saja.

Sekarang kita sudah memahami dasar-dasar Python, kita akan lihat bagaimana mendesain dan menulis program Python yang digunakan di dunia nyata.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *