Python

Python Namedtuple

Python Namedtuple

Python hadir dengan banyak struktur data bawaan seperti daftar, kamus, dan tupel untuk menyimpan dan mengelola data secara efisien. Nametuple adalah wadah seperti kamus yang tersedia di modul "koleksi". Mirip dengan kamus, yang bernama tuple juga berisi kunci yang dipetakan ke nilai-nilai. Namun, Nametuple memungkinkan mengakses nilai melalui kunci dan juga melalui indeks. Dibandingkan dengan kamus Python, mengakses nilai melalui indeks adalah fungsi tambahan di namedtuple. Artikel ini menjelaskan Python bernamatuple secara rinci dengan contoh.

Mengakses nilai dari Nametuple

Nilai-nilai di dalam namedtuple dapat diakses dengan cara berikut:

  1. Dengan menggunakan kunci
  2. Dengan menggunakan indeks
  3. Dengan menggunakan fungsi getattr()

Karena NameTuple mengubah bidang menjadi atribut, oleh karena itu mudah untuk mengakses nilai menggunakan fungsi getattr().

Contoh

Sekarang mari kita lihat beberapa contoh untuk memahami pembuatan dan cara kerja namedtuple. Untuk membuat dan menggunakan tuple bernama, pertama, kita perlu mengimpor modul koleksi. Dalam contoh yang diberikan di bawah ini, sebuah tupel bernama untuk seorang guru dibuat. Kunci dari Namedtuple adalah nama, umur, dan departemen, masing-masing. Nilai diakses menggunakan indeks dan kunci.

#mengimpor modul koleksi
koleksi impor
#membuat tuple bernama untuk seorang guru
#nama, umur, dan jurusan adalah kuncinya
Guru = koleksi.nametuple('Guru',['nama','umur','jurusan'])
# buat guru baru dan tambahkan nilai
teacher_john = Guru("John",29,"Ilmu Komputer")
#mengakses nilai guru menggunakan indeks
print("Mengakses nilai menggunakan indeks:")
print("Nama Guru :",guru_john[0])
print("Usia guru adalah:",teacher_john[1])
print("Jurusan Guru adalah:",teacher_john[2])
#mengakses nilai guru menggunakan kunci
print("Mengakses nilai menggunakan kunci:")
print("Nama Guru :",guru_john.nama)
print("Usia Guru :",guru_john.usia)
print("Jurusan Guru :",guru_john.departemen)

Keluaran

Sekarang mari kita mengakses nilai menggunakan fungsi getattr(). Nametuple dan kuncinya diteruskan sebagai argumen ke fungsi getattr().

#mengimpor modul koleksi
koleksi impor
#membuat tuple bernama untuk seorang guru
#nama, umur, dan jurusan adalah kuncinya
Guru = koleksi.nametuple('Guru',['nama','umur','jurusan'])
# buat guru baru dan tambahkan nilai
teacher_john = Guru("John",29,"Ilmu Komputer")
#mengakses nilai guru menggunakan fungsi getattr()
print(getattr(guru_john,"nama"))
print(getattr(guru_john,"umur"))
print(getattr(guru_john,"departemen"))

Keluaran

Operasi populer dari Nametuple

Beberapa fungsi populer mengubah koleksi lain seperti daftar, kamus, dan tupel menjadi tupel bernama dan mengembalikan informasi tupel bernama. Berikut ini adalah fungsi-fungsi yang mengubah koleksi lain menjadi namedtuple:-

Fungsi _make() mengonversi objek yang dapat diubah seperti daftar dan tupel menjadi tuple bernama. Fungsi _asdict() membuat orderDict dari namedtuple dan mengembalikannya. Terakhir, operator ** mengonversi kamus menjadi tuple bernama. Selain itu, fungsi yang mengembalikan informasi bernama tuple adalah sebagai berikut:

Fungsi _fields() mengembalikan semua bidang dari Namedtuple sedangkan, fungsi _replace() menggantikan nilai tertentu dengan nilai lain.

Mari kita implementasikan fungsi seperti yang disebutkan di atas dalam skrip Python kita untuk mengonversi koleksi yang berbeda menjadi bernama tuple.

#mengimpor modul koleksi
koleksi impor
#membuat tuple bernama untuk seorang guru
#nama, umur, dan jurusan adalah kuncinya
Guru = koleksi.nametuple('Guru',['nama','umur','jurusan'])
# buat guru baru dan tambahkan nilai
teacher_john = Guru("John",29,"Ilmu Komputer")
#membuat daftar
teacher_list =["Tandai",30,"Administrasi Bisnis"]
#membuat kamus
teacher_dict ='name':'Talor','age': 32,'department':'Economics'
#menggunakan fungsi _make() untuk mengonversi daftar menjadi namedtuple
print("Daftar ke konversi Nametuple : ")
cetak (Guru._make(daftar_guru))
#menggunakan fungsi _asdict() untuk membuat OrderDict
print("Membuat OrderedDict: ")
cetak(guru_john._asdict())
#menggunakan ** untuk mengonversi kamus menjadi tuple bernama
print("Mengubah kamus menjadi NameTuple: ")
print(Guru(**guru_dict))

Keluaran

Sekarang mari kita gunakan fungsi _fields(), dan _replace() untuk mendapatkan informasi kunci dan mengganti kunci, masing-masing.

#mengimpor modul koleksi
koleksi impor
#membuat tuple bernama untuk seorang guru
#nama, umur, dan jurusan adalah kuncinya
Guru = koleksi.nametuple('Guru',['nama','umur','jurusan'])
# buat guru baru dan tambahkan nilai
teacher_john = Guru("John",29,"Ilmu Komputer")
#menggunakan fungsi _fields untuk mendapatkan kunci-kunci bernama tuple
print("Kunci dari Nametuple adalah:")
cetak (Guru._bidang)
#menggunakan fungsi _replace untuk mengganti nilainya
print("Nilai ganti nama adalah:")
cetak(guru_john._ganti(nama = 'Donal'))

Keluaran
Pada output, dapat dilihat bahwa fungsi _fields mengembalikan kunci informasi, dan fungsi _replace() berhasil mengganti nama.

Kesimpulan

Nametuple adalah wadah seperti kamus yang ada di modul "koleksi". Ini berisi kunci dan memetakan nilai ke kunci. Tidak seperti kamus Python, nilai-nilai bernama tupel juga dapat diakses menggunakan indeks dan fungsi getattr()(). Artikel ini menjelaskan secara singkat Nametuple melalui contoh.

OpenTTD vs Simutrans
Membuat simulasi transportasi Anda sendiri bisa menyenangkan, santai, dan sangat menarik. Itulah mengapa Anda perlu memastikan bahwa Anda mencoba game...
Tutorial OpenTTD
OpenTTD adalah salah satu game simulasi bisnis paling populer di luar sana. Dalam game ini, Anda perlu membuat bisnis transportasi yang luar biasa. Na...
SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...