Python len(): Panduan Pemula untuk Menghitung Elemen di Python
Pelajari cara menggunakan fungsi Python len() untuk cepat mengetahui ukuran string, list, dictionary, dan struktur data lainnya. Temukan contoh praktis dan kesalahan umum yang perlu dihindari saat bekerja dengan len() di kode Anda sendiri.
Dalam artikel ini, saya akan menunjukkan cara kerja len() di Python untuk semua tipe data umum, dan apa yang perlu Anda waspadai saat terjadi kesalahan.
Apa yang Dilakukan Fungsi Python len()?
Anda dapat menggunakan fungsi bawaan Python len() kapan pun Anda perlu memeriksa berapa banyak item yang dimiliki sesuatu. Misalnya menghitung jumlah elemen dalam sebuah list atau jumlah karakter dalam sebuah string. Anda juga bisa menggunakannya untuk menghitung key dalam sebuah dictionary. Ada banyak sekali kegunaannya.
Berikut cara menggunakannya dalam bentuk paling dasar:
Cukup tempatkan apa pun yang ingin Anda ukur (seperti hal-hal yang saya sebutkan di atas) menggantikan object.
Menggunakan len() dengan Tipe Data Umum di Python
Saya sudah menyebutkan beberapa kasus penggunaan umum di atas, tetapi semuanya masih agak abstrak. Mari kita bahas contoh-contoh umum agar nilai penggunaan len() menjadi lebih jelas.
Menghitung karakter dalam string
Misalkan Anda ingin mengetahui panjang tepat suatu teks, termasuk setiap spasi dan tanda baca:
Ini mencetak 5, karena kata "Josef" (dengan "f") terdiri dari lima karakter.
Memeriksa jumlah item dalam list
Jika Anda ingin mengetahui berapa banyak item yang dimuat sebuah list, gunakan ini:
numbers =[10,20,30,40,50]print(len(numbers))Didukung oleh
Di sini, Anda akan melihat keluaran 5.
Mendapatkan ukuran tuple
Tuple, mirip dengan list, mengelompokkan item tetapi bersifat immutable, artinya tidak bisa diubah setelah dibuat. len() juga berfungsi di sini:
dimensions =(1920,1080)print(len(dimensions))Didukung oleh
Ini menghasilkan 2, karena tuple menyimpan dua elemen.
Menghitung key dalam dictionary
Dictionary Python berisi pasangan key-value. Saat Anda menggunakan len() pada dictionary, yang dihitung hanyalah key:
person ={"name":"Alice","age":30,"city":"Paris"}print(len(person))Didukung oleh
Jadi Anda mendapatkan 3 (satu untuk setiap key).
Memeriksa elemen unik dalam set
Set berguna ketika Anda ingin menyimpan item yang unik saja. len() akan memberi tahu Anda:
colors ={"red","green","blue","red"}print(len(colors))Didukung oleh
Ini mengembalikan 3, karena "red" muncul dua kali tetapi dihitung sekali.
Cara Kerja len() di Balik Layar
Anda mungkin bertanya-tanya, seperti saya, bagaimana len() sebenarnya menentukan ukuran.
Di baliknya, saat Anda memanggil len() pada sebuah objek, Python mencari metode __len__ milik objek tersebut. Tipe bawaan seperti list, string, dan dictionary semuanya memiliki metode ini.
Mengetahui hal ini memberi tahu kita bahwa, jika kita membuat kelas sendiri dan ingin len() berfungsi untuknya, kita harus mendefinisikan metode __len__ sendiri:
classBox:def__init__(self, items):
self.items = items
def__len__(self):returnlen(self.items)
my_box = Box(["apple","banana","orange"])print(len(my_box))Didukung oleh
Di sini, len() mengembalikan 3, karena kotak berisi tiga item. Sama seperti pada list dan string, len() akan menyesuaikan selama objek menyediakan metode __len__.
Apa yang Terjadi Saat len() Tidak Berfungsi?
Tentu saja, tidak semua hal di Python memiliki panjang. Jika Anda mencoba menggunakan len() pada sesuatu yang tidak mendukungnya (akan saya tunjukkan sebentar lagi dengan tipe data int) Python akan memberi tahu Anda dengan TypeError. Ini adalah hal umum yang sering ditemui orang, terutama jika mereka bekerja dengan tipe data campuran. Contohnya:
TypeError:object of type'int' has no len()Didukung oleh
Kapan pun Anda melihat ini, periksa kembali bahwa objek yang Anda ukur memang sebuah kontainer atau urutan (string, list, atau dictionary) dan bukan nilai tunggal seperti integer atau float.
Beberapa Kasus Penggunaan len() yang Berguna
Mari kita naikkan level contohnya agar lebih menyerupai situasi pemrograman dunia nyata.
Melakukan loop dengan range
Saat Anda perlu melakukan loop melalui list menggunakan indeksnya, len() membantu Anda menyiapkan range yang tepat untuk loop Anda:
fruits =["apple","banana","cherry"]for i inrange(len(fruits)):print(f"Index {i}: {fruits[i]}")Didukung oleh
Ini mencetak setiap buah bersamaan dengan indeksnya, memberi Anda urutan dan konteks.
Index 0: apple
Index 1: banana
Index 2: cherryDidukung oleh
Memeriksa kontainer kosong
Sering kali, Anda ingin tahu apakah sebuah kontainer—seperti list atau dictionary—kosong sebelum melanjutkan:
cart =[]iflen(cart)==0:print("Your shopping cart is empty.")Didukung oleh
Pola ini membantu Anda menghindari galat atau pemrosesan yang tidak perlu ketika tidak ada yang perlu dikerjakan.
Memotong string yang panjang
Jika Anda berurusan dengan input pengguna atau menampilkan label, Anda mungkin ingin membatasi panjang string. len() membantu Anda menegakkan batas tersebut:
username ="superlongusername"iflen(username)>10:
username = username[:10]print(username)Didukung oleh
Di sini, nama pengguna yang lebih panjang dari 10 karakter akan dipangkas.
Kesalahan Umum dengan len()
len() bisa menjebak Anda, bahkan jika Anda sudah memiliki sedikit pengalaman dengan Python:
Mencoba menggunakan len() pada integer atau float: Angka bukanlah koleksi, jadi tidak memiliki panjang.
Lupa bahwa len() menghitung item, bukan nilai: Dalam dictionary, len menghitung key—meskipun beberapa key mengarah ke nilai yang sama.
Menganggap len() berfungsi pada segala hal: Kelas kustom memerlukan metode __len__; jika tidak, len() tidak tahu harus berbuat apa.
Cobalah untuk mengingat aturan-aturan ini agar menghemat waktu saat debugging.
Penanganan Galat dengan len()
Mengingat len() dapat memunculkan TypeError jika disalahgunakan, ada baiknya menyiapkan kode Anda untuk kemungkinan ini, terutama saat bekerja dengan data yang tidak dapat diprediksi. Blok try-except adalah cara sederhana untuk menangani galat seperti ini dengan baik:
data =123try:print(len(data))except TypeError:print("Object has no length.")Didukung oleh
Alih-alih crash, program Anda kini mencetak pesan yang ramah. Kursus Object-Oriented Programming in Python kami adalah sumber yang bagus untuk menguasai hal seperti ini.
Menggunakan len() dengan Kelas Kustom
Mari kembali ke kelas kustom. Kelas kustom adalah kelas apa pun yang Anda definisikan sendiri menggunakan keyword class—misalnya saat Anda memodelkan sesuatu yang spesifik untuk program Anda, seperti Team, Box, atau Library. Sebelumnya, Anda melihat bahwa len() berfungsi pada tipe bawaan seperti list dan dictionary karena mereka mengimplementasikan metode khusus bernama __len__(). Hal yang sama berlaku untuk kelas Anda sendiri. Jika Anda ingin len() berfungsi pada kelas tersebut, Anda perlu mendefinisikan __len__() sendiri.
Saya tidak bermaksud membebani Anda dengan detail teknis. Saya rasa ini layak disebutkan karena penting saat Anda membangun kontainer data kustom yang seharusnya berperilaku seperti koleksi native Python. Dengan mendukung len(), objek Anda dapat berinteraksi lebih alami dengan ekosistem Python lainnya, termasuk fungsi dan pustaka lain.
Berikut ringkasan singkatnya:
classTeam:def__init__(self, players):
self.players = players
def__len__(self):returnlen(self.players)
my_team = Team(["Alice","Bob","Cathy"])print(len(my_team))Didukung oleh
Sekali lagi, len() mengembalikan 3, yang benar karena ini adalah jumlah pemain di tim Anda.
Kesimpulan
Lain kali Anda perlu menghitung, mengukur, atau memverifikasi ukuran sesuatu di Python, ingat bahwa len() adalah salah satu opsi yang bagus.
Namun sekarang setelah kita sampai di akhir, saya ingin menyebutkan hal penting lainnya. Kita berfokus pada satu fungsi, tetapi hampir selalu ada banyak cara untuk menyelesaikan sesuatu di Python. Kami memiliki artikel yang bahkan menunjukkan banyak cara berbeda untuk menemukan panjang sebuah list, di mana fungsi len() hanyalah salah satu opsinya: Python List Size: 8 Different Methods for Finding the Length of a List in Python.
Teruslah berlatih metode baru. Ini adalah cara yang pasti untuk membuat Anda menjadi pemrogram yang lebih kuat. Dan jangan lupa mendaftar ke jalur keterampilan Python Programming, yang akan mengajarkan Anda cara mengoptimalkan kode, menulis fungsi dan pengujian, dan banyak lagi.
Penulis
Josef Waples
Saya penulis dan editor data science dengan kontribusi pada artikel riset di jurnal ilmiah. Saya sangat tertarik pada aljabar linear, statistika, R, dan sejenisnya. Saya juga cukup sering bermain catur!
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Fungsi
len()adalah salah satu alat pertama yang diandalkan pemrogram Python untuk memeriksa data. Anda pasti pernah menjumpailen()jika Anda mengikuti kursus Introduction to Python for Developers kami atau jalur keterampilan Python Programming Fundamentals.Dalam artikel ini, saya akan menunjukkan cara kerja
len()di Python untuk semua tipe data umum, dan apa yang perlu Anda waspadai saat terjadi kesalahan.Apa yang Dilakukan Fungsi Python len()?
Anda dapat menggunakan fungsi bawaan Python
len()kapan pun Anda perlu memeriksa berapa banyak item yang dimiliki sesuatu. Misalnya menghitung jumlah elemen dalam sebuah list atau jumlah karakter dalam sebuah string. Anda juga bisa menggunakannya untuk menghitung key dalam sebuah dictionary. Ada banyak sekali kegunaannya.Berikut cara menggunakannya dalam bentuk paling dasar:
Cukup tempatkan apa pun yang ingin Anda ukur (seperti hal-hal yang saya sebutkan di atas) menggantikan
object.Menggunakan len() dengan Tipe Data Umum di Python
Saya sudah menyebutkan beberapa kasus penggunaan umum di atas, tetapi semuanya masih agak abstrak. Mari kita bahas contoh-contoh umum agar nilai penggunaan
len()menjadi lebih jelas.Menghitung karakter dalam string
Misalkan Anda ingin mengetahui panjang tepat suatu teks, termasuk setiap spasi dan tanda baca:
Ini mencetak
5, karena kata"Josef"(dengan "f") terdiri dari lima karakter.Memeriksa jumlah item dalam list
Jika Anda ingin mengetahui berapa banyak item yang dimuat sebuah list, gunakan ini:
Di sini, Anda akan melihat keluaran
5.Mendapatkan ukuran tuple
Tuple, mirip dengan list, mengelompokkan item tetapi bersifat immutable, artinya tidak bisa diubah setelah dibuat.
len()juga berfungsi di sini:Ini menghasilkan
2, karena tuple menyimpan dua elemen.Menghitung key dalam dictionary
Dictionary Python berisi pasangan key-value. Saat Anda menggunakan
len()pada dictionary, yang dihitung hanyalah key:Jadi Anda mendapatkan
3(satu untuk setiap key).Memeriksa elemen unik dalam set
Set berguna ketika Anda ingin menyimpan item yang unik saja.
len()akan memberi tahu Anda:Ini mengembalikan
3, karena"red"muncul dua kali tetapi dihitung sekali.Cara Kerja len() di Balik Layar
Anda mungkin bertanya-tanya, seperti saya, bagaimana
len()sebenarnya menentukan ukuran.Di baliknya, saat Anda memanggil
len()pada sebuah objek, Python mencari metode__len__milik objek tersebut. Tipe bawaan seperti list, string, dan dictionary semuanya memiliki metode ini.Mengetahui hal ini memberi tahu kita bahwa, jika kita membuat kelas sendiri dan ingin
len()berfungsi untuknya, kita harus mendefinisikan metode__len__sendiri:Di sini,
len()mengembalikan3, karena kotak berisi tiga item. Sama seperti pada list dan string,len()akan menyesuaikan selama objek menyediakan metode__len__.Apa yang Terjadi Saat len() Tidak Berfungsi?
Tentu saja, tidak semua hal di Python memiliki panjang. Jika Anda mencoba menggunakan
len()pada sesuatu yang tidak mendukungnya (akan saya tunjukkan sebentar lagi dengan tipe dataint) Python akan memberi tahu Anda denganTypeError. Ini adalah hal umum yang sering ditemui orang, terutama jika mereka bekerja dengan tipe data campuran. Contohnya:Ini memicu galat berikut:
Kapan pun Anda melihat ini, periksa kembali bahwa objek yang Anda ukur memang sebuah kontainer atau urutan (string, list, atau dictionary) dan bukan nilai tunggal seperti integer atau float.
Beberapa Kasus Penggunaan len() yang Berguna
Mari kita naikkan level contohnya agar lebih menyerupai situasi pemrograman dunia nyata.
Melakukan loop dengan range
Saat Anda perlu melakukan loop melalui list menggunakan indeksnya,
len()membantu Anda menyiapkan range yang tepat untuk loop Anda:Ini mencetak setiap buah bersamaan dengan indeksnya, memberi Anda urutan dan konteks.
Memeriksa kontainer kosong
Sering kali, Anda ingin tahu apakah sebuah kontainer—seperti list atau dictionary—kosong sebelum melanjutkan:
Pola ini membantu Anda menghindari galat atau pemrosesan yang tidak perlu ketika tidak ada yang perlu dikerjakan.
Memotong string yang panjang
Jika Anda berurusan dengan input pengguna atau menampilkan label, Anda mungkin ingin membatasi panjang string.
len()membantu Anda menegakkan batas tersebut:Di sini, nama pengguna yang lebih panjang dari 10 karakter akan dipangkas.
Kesalahan Umum dengan len()
len()bisa menjebak Anda, bahkan jika Anda sudah memiliki sedikit pengalaman dengan Python:Mencoba menggunakan len() pada integer atau float: Angka bukanlah koleksi, jadi tidak memiliki panjang.
Lupa bahwa len() menghitung item, bukan nilai: Dalam dictionary, len menghitung key—meskipun beberapa key mengarah ke nilai yang sama.
Menganggap len() berfungsi pada segala hal: Kelas kustom memerlukan metode
__len__; jika tidak,len()tidak tahu harus berbuat apa.Cobalah untuk mengingat aturan-aturan ini agar menghemat waktu saat debugging.
Penanganan Galat dengan len()
Mengingat
len()dapat memunculkanTypeErrorjika disalahgunakan, ada baiknya menyiapkan kode Anda untuk kemungkinan ini, terutama saat bekerja dengan data yang tidak dapat diprediksi. Blok try-except adalah cara sederhana untuk menangani galat seperti ini dengan baik:Alih-alih crash, program Anda kini mencetak pesan yang ramah. Kursus Object-Oriented Programming in Python kami adalah sumber yang bagus untuk menguasai hal seperti ini.
Menggunakan len() dengan Kelas Kustom
Mari kembali ke kelas kustom. Kelas kustom adalah kelas apa pun yang Anda definisikan sendiri menggunakan keyword
class—misalnya saat Anda memodelkan sesuatu yang spesifik untuk program Anda, sepertiTeam,Box, atauLibrary. Sebelumnya, Anda melihat bahwalen()berfungsi pada tipe bawaan seperti list dan dictionary karena mereka mengimplementasikan metode khusus bernama__len__(). Hal yang sama berlaku untuk kelas Anda sendiri. Jika Anda inginlen()berfungsi pada kelas tersebut, Anda perlu mendefinisikan__len__()sendiri.Saya tidak bermaksud membebani Anda dengan detail teknis. Saya rasa ini layak disebutkan karena penting saat Anda membangun kontainer data kustom yang seharusnya berperilaku seperti koleksi native Python. Dengan mendukung
len(), objek Anda dapat berinteraksi lebih alami dengan ekosistem Python lainnya, termasuk fungsi dan pustaka lain.Berikut ringkasan singkatnya:
Sekali lagi,
len()mengembalikan3, yang benar karena ini adalah jumlah pemain di tim Anda.Kesimpulan
Lain kali Anda perlu menghitung, mengukur, atau memverifikasi ukuran sesuatu di Python, ingat bahwa
len()adalah salah satu opsi yang bagus.Namun sekarang setelah kita sampai di akhir, saya ingin menyebutkan hal penting lainnya. Kita berfokus pada satu fungsi, tetapi hampir selalu ada banyak cara untuk menyelesaikan sesuatu di Python. Kami memiliki artikel yang bahkan menunjukkan banyak cara berbeda untuk menemukan panjang sebuah list, di mana fungsi
len()hanyalah salah satu opsinya: Python List Size: 8 Different Methods for Finding the Length of a List in Python.Teruslah berlatih metode baru. Ini adalah cara yang pasti untuk membuat Anda menjadi pemrogram yang lebih kuat. Dan jangan lupa mendaftar ke jalur keterampilan Python Programming, yang akan mengajarkan Anda cara mengoptimalkan kode, menulis fungsi dan pengujian, dan banyak lagi.