Temukan kunci dalam kamus bersarang python

Kamus bersarang Python adalah kamus dengan kamus atau kamus lain yang bersarang di dalamnya (kamus kamus atau kumpulan koleksi). Kamus bersarang adalah salah satu cara untuk merepresentasikan data terstruktur (mirip dengan hubungan tabel database). Analogi untuk konsep ini adalah Boneka Bersarang Rusia.  

Artikel kami berfokus pada berbagai cara untuk mengambil data dari kamus bersarang


Buat Kamus Bersarang

Kode berikut membuat kamus yang berisi id unik (1000, 1001, dll. ). Selain itu, setiap id memiliki kamus bersarang terkait dengan informasi terkait yang relevan dengan id tersebut (nama, pekerjaan, gaji)

# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

Akses Nilai Bersarang menggunakan Tanda Kurung Persegi

Salah satu cara untuk mengakses nilai dari kamus bersarang (employees) adalah dengan menentukan kunci di dalam tanda kurung siku. Jika kunci tidak ada, terjadi KeyError, menampilkan nama kunci yang bermasalah. Kode di bawah ini mengakses dan menampilkan gaji untuk karyawan 1002

# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1002]['salary']
print(result)
_

Keluaran

76500

Akses Nilai menggunakan get()

Cara lain untuk mengakses nilai dalam kamus bersarang (employees) adalah dengan menggunakan metode

# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1002]['salary']
print(result)
1. Metode ini mengembalikan nilai untuk kunci tertentu. Jika kunci yang ditentukan tidak ada, metode
# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1002]['salary']
print(result)
_2 mengembalikan
# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1002]['salary']
print(result)
3 (mencegah
# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1002]['salary']
print(result)
4). Kode di bawah ini mengakses dan menampilkan pekerjaan untuk karyawan 1003

# raw data:
employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
             1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
             1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
             1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
             1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}

result = employees[1003].get('job')
print(result)

Keluaran

trainer
_

Ulangi Nested Dictionary menggunakan For Loop

Di bawah ini adalah kode untuk melintasi kamus bersarang

for id, info in employees.items():
    print(id)
    for k in info:
        print(k, info[k])
_
  • Baris [1] memanggil for loop, referensi
    # raw data:
    employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                 1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                 1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                 1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                 1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
    
    result = employees[1002]['salary']
    print(result)
    5 dari top-level dictionary,
    # raw data:
    employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                 1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                 1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                 1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                 1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
    
    result = employees[1002]['salary']
    print(result)
    6 dari nested dictionary, dan memanggil
    # raw data:
    employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                 1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                 1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                 1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                 1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
    
    result = employees[1002]['salary']
    print(result)
    7 untuk mengambil data yang sesuai
    • Baris [2] mengeluarkan
      # raw data:
      employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                   1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                   1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                   1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                   1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
      
      result = employees[1002]['salary']
      print(result)
      _5 untuk setiap catatan dalam kamus tingkat atas
    • Baris [3] melewati kamus bersarang untuk setiap
      # raw data:
      employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                   1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                   1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                   1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                   1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
      
      result = employees[1002]['salary']
      print(result)
      5
      • Baris [4] mengeluarkan kunci. pasangan nilai ke terminal

Output – catatan pertama dari Karyawan

Untuk contoh ini, hanya record pertama yang ditampilkan

1000
name Derek
job support
salary 89567

Akses Nilai Bersarang menggunakan Panda

Pustaka Pandas akan mengonversi kamus bersarang menjadi DataFrame untuk mengakses data di bagian ini

import pandas as pd 
df = pd.DataFrame.from_dict(employees, orient='index')

for i, j in df.iterrows():
    print(i)
    print(j)
  • Baris [1] mengimpor perpustakaan dan menugaskannya sebagai referensi objek ke
    76500
    0.  
  • Baris [2] membuat DataFrame dan mengatur output ke
    76500
    1. DataFrame memiliki dua argumen. kamus employees dan
    76500
    3. Argumen
    76500
    _4 memaksa
    # raw data:
    employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                 1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                 1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                 1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                 1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
    
    result = employees[1002]['salary']
    print(result)
    5 untuk ditampilkan di kolom paling kiri
  • Baris [3] memulai iterasi loop. Pernyataan ini berulang sampai tidak ada lagi baris untuk ditampilkan (
    76500
    6)
    • Baris [4] mengeluarkan isi dari
      # raw data:
      employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                   1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                   1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                   1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                   1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
      
      result = employees[1002]['salary']
      print(result)
      5 ke terminal
    • Baris [5] menampilkan nilai yang terkait dengan
      # raw data:
      employees = {1000: {'name': 'Derek', 'job': 'support', 'salary': 89567},
                   1001: {'name': 'Alice', 'job': 'coder', 'salary': 94275},
                   1002: {'name': 'Lucia', 'job': 'writer', 'salary': 76500},
                   1003: {'name': 'Micah', 'job': 'trainer', 'salary': 81354},
                   1004: {'name': 'Sarah', 'job': 'sales', 'salary': 64152}}
      
      result = employees[1002]['salary']
      print(result)
      5 itu ke terminal

Keluaran (Panda DataFrame)

namejobsalary1000Dereksupport895671001Alicecoder942751002Luciawriter765001003Micahtrainer813541004Sarahsales64152

Output (rekaman pertama dari Karyawan)

1000
name        Derek        
job         support        
salary      89567        
Name: 1000, dtype: object

Humor Pemrograman

💡 Pemrograman adalah 10% sains, 20% kecerdikan, dan 70% mendapatkan kecerdikan untuk bekerja dengan sains

Bagaimana cara mendapatkan kunci tertentu dari kamus bersarang di Python?

Akses Item Kamus Bersarang . Metode get() mengembalikan nilai untuk kunci jika kuncinya ada di kamus, jika tidak, ia mengembalikan Tidak Ada. using the special dictionary get() method. The get() method returns the value for the key if the key is in the dictionary, otherwise, it returns None.

Bagaimana cara mendapatkan data dari dict bersarang dengan Python?

Untuk mengakses elemen kamus bersarang, kami menggunakan sintaks [] pengindeksan dengan Python.

Bagaimana cara mencari kunci tertentu di kamus Python?

Untuk sekadar memeriksa apakah ada kunci dalam kamus Python, Anda dapat menggunakan operator in untuk mencari melalui kunci kamus seperti ini. peliharaan = {'kucing'. 1, 'anjing'. 2, 'ikan'. 3} jika 'anjing' di hewan peliharaan. print('Anjing ditemukan. ')

Bagaimana Anda memeriksa apakah ada nilai kunci dalam kamus Python?

Memeriksa apakah ada kunci menggunakan metode get() . Jika kunci tidak ada, ia mengembalikan nilai default (jika diteruskan) atau mengembalikan Tidak Ada. Dengan menggunakan metode ini kita dapat memberikan kunci dan memeriksa apakah ada kunci di kamus python.