Dapatkan nilai dari kamus python bersarang

Di Python3 kita bisa membuat generator sederhana untuk mendapatkan semua nilai dari kamus bersarang. Lihat di bawah contoh kode sederhana untuk itu. -

Dapatkan semua nilai dari kamus bersarang

def get_values(d):
    for v in d.values():
        if isinstance(v, dict):
            yield from get_values(v)
        else:
            yield v


a = {4: 1, 6: 2, 7: {8: 3, 9: 4, 5: {10: 5}, 2: 6, 6: {2: 7, 1: 8}}}

print(list(get_values(a)))

Keluaran

Dapatkan nilai dari kamus python bersarang

Dapatkan semua kunci kamus bersarang

Berikut adalah kode yang akan mencetak semua anggota tim

Liverpool = {
    'Keepers': {'Loris Karius': 1, 'Simon Mignolet': 2, 'Alex Manninger': 3},
    'Defenders': {'Nathaniel Clyne': 3, 'Dejan Lovren': 4, 'Joel Matip': 5, 'Alberto Moreno': 6, 'Ragnar Klavan': 7,
                  'Joe Gomez': 8, 'Mamadou Sakho': 9}
}


for k, v in Liverpool.items():
    for k1, v1 in v.items():
        print(k1)
_

Keluaran

Dapatkan nilai dari kamus python bersarang

Ambil daftar nilai dari kamus bersarang

Iterasi melalui elemen daftar dan periksa jenis setiap elemen berdasarkan konvensi penamaan 'id' dan 'anak-anak'

mylist = [
    {u'id': 5650,
     u'children': [
         {u'id': 4635},
         {u'id': 5648}
     ]},
    {u'id': 67,
     u'children': [
         {u'id': 77}
     ]}
]


def extract_id_values(mylist):
    ids_to_return_list = []

    for element in mylist:
        for key, value in element.items():
            if 'id' == key:
                ids_to_return_list.append(value)
            if 'children' == key:
                for children_elem in value:
                    if 'id' in children_elem:
                        ids_to_return_list.append(children_elem['id'])
    return ids_to_return_list


print(extract_id_values(mylist))

Keluaran. [5650, 4635, 5648, 67, 77]

Ekstrak nilai Kunci Tertentu dalam Nilai Bersarang

Menggunakan pemahaman daftar + nilai() + kunci()

test_dict = {'Gfg': {"a": 7, "b": 9, "c": 12},
             'is': {"a": 15, "b": 19, "c": 20},
             'best': {"a": 5, "b": 10, "c": 2}}

# initializing key
key = "c"

# using keys() and values() to extract values
res = [sub[key] for sub in test_dict.values() if key in sub.keys()]

print(res)

Keluaran. [12, 20, 2]

Menggunakan pemahaman daftar + item()

test_dict = {'Gfg': {"a": 7, "b": 9, "c": 12},
             'is': {"a": 15, "b": 19, "c": 20},
             'best': {"a": 5, "b": 10, "c": 2}}

# initializing key
key = "a"

# using item() to extract key value pair as whole
res = [val[key] for keys, val in test_dict.items() if key in val]

print(res)
_

Keluaran. [7, 15, 5]

Sumber. stackoverflow. com

Beri komentar jika Anda memiliki keraguan dan saran tentang topik daftar kamus Python ini

Catatan. IDE. PyCharm 2021. 3. 3 (Edisi Komunitas)

Windows 10

Piton 3. 10. 1

Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan

Dapatkan nilai dari kamus python bersarang

Rohit

Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis

Ali
25
2 = {
Ali
25
5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Ali
25
7
Ali
25
8
Ali
25
9
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
1
Ali
25
8
Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
3: {
Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
7
Ali
25
8
Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
9
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0nested_dict1
Ali
25
8nested_dict3
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Ali
25
7
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
9

Membuat Kamus Bersarang

Dengan Python, kamus bersarang dapat dibuat dengan menempatkan kamus yang dipisahkan koma di dalam tanda kurung.  
 

Python3




nested_dict_7

Ali
25
2 = {=1=2

________130

test_dict = {'Gfg': {"a": 7, "b": 9, "c": 12},
             'is': {"a": 15, "b": 19, "c": 20},
             'best': {"a": 5, "b": 10, "c": 2}}

# initializing key
key = "c"

# using keys() and values() to extract values
res = [sub[key] for sub in test_dict.values() if key in sub.keys()]

print(res)
_130_______4=5

=6=7

Ali
25
5=9{0

=6{2

Ali
25
2{4

 

{_5

Ali
25
2 = {=1: {'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0'dict1'3
Ali
25
8'dict1'5________7______0'dict1'7______7

=3=4: {'dict1'1

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0: {4
Ali
25
8'dict1'5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0: {8________7______9

=6'key_A'1

Ali
25
9=9{0

=6{2

Ali
25
2{4

 

'key_A'_9

Ali
25
2 = {=1: {
Ali
25
5____7_______0
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
___7__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ E jelas

=3=4: {

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
20
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Ali
25
7
Ali
25
8
Ali
25
5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
25
Ali
25
5________5______8
Ali
25
9
Ali
25
_9

=6'key_A'1

Initial nested dictionary:-
{'Dict2': {'name': 'Bob', 'age': 21}, 'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict2:-
{'Dict1': {'name': 'Ali', 'age': 19}}

Deleting Dict1:-
{}
3=9{0

=6{2

Ali
25
2{4

Keluaran
 

Nested dictionary 1-
{'Dict1': {}, 'Dict2': {}}

Nested dictionary 2-
{'Dict1': {'name': 'Ali', 'age': '19'}, 'Dict2': {'name': 'Bob', 'age': '25'}}

Nested dictionary 3-
{'Dict1': {1: 'G', 2: 'F', 3: 'G'}, 'Dict2': {1: [1, 2], 'Name': 'Geeks'}}

 

Menambahkan elemen ke Kamus Bersarang

Penambahan elemen ke Kamus bersarang dapat dilakukan dengan berbagai cara. Salah satu cara untuk menambahkan kamus di kamus Bersarang adalah dengan menambahkan nilai satu jadi satu, Nested_dict[dict][key] = 'nilai'. Cara lain adalah menambahkan seluruh kamus sekaligus, Nested_dict[dict] = { 'key'. 'nilai'}.  
 

Python3




Ali
25
2 =
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
41

=6

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
43=9{0

=6{2

Ali
25
2{4

 

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
53=
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
55

 

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
_56

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
60'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
53= : {4

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
60'dict1'5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
53=
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
72

=6

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
74

=6{2

Ali
25
2{4

 

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
_79

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=4
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
53= {'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
___________________________________________________________7777777777777

=6

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
74

=6{2

Ali
25
2{4

Keluaran.  
 

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}

 

Akses elemen Kamus Bersarang

Untuk mengakses nilai kunci apa pun dalam kamus bersarang, gunakan sintaks pengindeksan [].  
 

Python3




{_5

Ali
25
2 = {=1: {'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0'dict1'3
Ali
25
8'dict1'5________7______0'dict1'7______7

=3=4: {'dict1'1

Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0: {4
Ali
25
8'dict1'5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0: {8________7______9

 

Ali
25
_25

=6{2

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
60'dict1'1
Ali
25
33

 

Ali
25
_34

=6{2

Ali
25
2
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
51=4
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
60'dict1'5
Ali
25
33

Keluaran.  
 

Ali
25

 

Menghapus kamus dari Nested Dictionary

Penghapusan kamus dari kamus bersarang dapat dilakukan dengan menggunakan kata kunci del atau dengan menggunakan fungsi pop().  
 

Python3




Ali
25
2 = {=1: {'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0'dict1'3
Ali
25
8'dict1'5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0_______5_______54_______

Ali
25
56=4: {'dict1'1
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0: {4
Ali
25
8'dict1'5
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
0
Initial nested dictionary:-
{}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}}

After adding dictionary Dict1
{'Dict1': {'age': 21, 'name': 'Bob'}, 'Dict2': {'age': 25, 'name': 'Cara'}}
72________7______9

Bagaimana cara mendapatkan nilai 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 mengekstrak nilai dari kamus dengan Python?

Berikut adalah 3 pendekatan untuk mengekstrak nilai kamus sebagai daftar dengan Python. .
(1) Menggunakan fungsi list(). my_list = daftar(my_dict. nilai())
(2) Menggunakan Pemahaman Daftar. my_list = [i untuk i di my_dict. nilai()]
(3) Menggunakan For Loop. my_list = [] untuk i di my_dict. nilai(). daftarku. tambahkan (i)

Bagaimana Anda mengakses nilai dalam kamus?

Yang terkenal, atau saya harus mengatakan cara tradisional untuk mengakses nilai dalam kamus adalah dengan mengacu pada nama kuncinya, di dalam tanda kurung siku. Notice that when you want to access the value of the key that doesn't exist in the dictionary will result in a KeyError.