Kamus Python fromkeys ()

Metode fromkeys () membuat kamus baru dari urutan elemen tertentu dengan nilai yang diberikan oleh pengguna.

Sintaks fromkeys()metode adalah:

 dictionary.fromkeys (sequence (, value))

fromkeys () Parameter

fromkeys() metode mengambil dua parameter:

  • urutan - urutan elemen yang akan digunakan sebagai kunci untuk kamus baru
  • nilai (Opsional) - nilai yang ditetapkan untuk setiap elemen kamus

Kembalikan nilai dari fromkeys ()

fromkeys() Metode mengembalikan kamus baru dengan urutan elemen yang diberikan sebagai kunci kamus.

Jika argumen nilai disetel, setiap elemen kamus yang baru dibuat disetel ke nilai yang diberikan.

Contoh 1: Buat kamus dari urutan tombol

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) vowels = dict.fromkeys(keys) print(vowels)

Keluaran

 ('a': None, 'u': None, 'o': None, 'e': None, 'i': None) 

Contoh 2: Buat kamus dari urutan kunci dengan nilai

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = 'vowel' vowels = dict.fromkeys(keys, value) print(vowels)

Keluaran

 ('a': 'vowel', 'u': 'vowel', 'o': 'vowel', 'e': 'vowel', 'i': 'vowel') 

Contoh 3: Buat kamus dari daftar objek yang bisa berubah

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = dict.fromkeys(keys, value) print(vowels) # updating the value value.append(2) print(vowels)

Keluaran

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1, 2 ), 'u': (1, 2), 'o': (1, 2), 'e': (1, 2), 'i': (1, 2)) 

Jika nilai adalah objek yang dapat berubah (yang nilainya dapat diubah) seperti daftar, kamus, dll., Ketika objek yang dapat diubah dimodifikasi, setiap elemen dari urutan juga akan diperbarui.

Ini karena setiap elemen diberi referensi ke objek yang sama (menunjuk ke objek yang sama di memori).

Untuk menghindari masalah ini, kami menggunakan pemahaman kamus.

 # vowels keys keys = ('a', 'e', 'i', 'o', 'u' ) value = (1) vowels = ( key : list(value) for key in keys ) # you can also use ( key : value(:) for key in keys ) print(vowels) # updating the value value.append(2) print(vowels)

Keluaran

 ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) ('a': (1), 'u': (1), 'o': (1), 'e': (1), 'i': (1)) 

Di sini, untuk setiap kunci dalam kunci, daftar baru dari nilai dibuat dan ditetapkan padanya.

Intinya, nilai tidak ditetapkan ke elemen tetapi daftar baru dibuat darinya, yang kemudian ditetapkan ke setiap elemen dalam kamus.

Artikel yang menarik...