Bagean iki nerangake cara nambah elemen anyar menyang kamus (obyek tipe dict) utawa nganyari regane elemen sing ana ing Python. Sampeyan uga bisa nggabungake (gabung, nggabung) pirang-pirang kamus.
- Nambah lan nganyari elemen menyang kamus kanthi nemtokake tombol.
- Concatenation (gabung) pirang-pirang kamus: nganyari (), | operator, | = operator
- Nambah utawa nganyari pirang-pirang elemen: nganyari (), | = operator
Nambah lan nganyari elemen menyang kamus kanthi nemtokake tombol.
Sampeyan bisa nambah / nganyari unsur kamus kanthi cara ing ngisor iki.
Objek kamus [kunci] = nilai
Nalika tombol sing ora ana ditemtokake, ditambahake elemen anyar, lan yen tombol sing wis ditemtokake, nilai sing ana bakal dianyari (ditimpa).
d = {'k1': 1, 'k2': 2}
d['k3'] = 3
print(d)
# {'k1': 1, 'k2': 2, 'k3': 3}
d['k1'] = 100
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3}
Yen sampeyan ora pengin nganyari regane tombol sing ana, gunakake cara setdefault ().
Nggabungake (nggabung) pirang-pirang kamus: nganyari (), | operator, | = operator
update()
Yen obyek kamus liyane sing ditemtokake minangka argumen kanggo nganyari metode obyek kamus (), kabeh unsur bakal ditambahake.
Yen tombol kasebut tumpang tindih karo kunci sing ana, bakal ditimpa karo nilai kamus sing ditemtokake ing argumen kasebut.
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d1.update(d2)
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
Kesalahan kanggo nemtokake macem-macem kamus ing argumen nganyari ().
d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}
# d1.update(d2, d3)
# TypeError: update expected at most 1 arguments, got 2
Kaya sing diterangake mengko, nganyari () bisa nambah elemen anyar minangka argumen kata kunci (kunci = nilai), mula mung nambah ** menyang kamus lan njembarake saben elemen minangka argumen kata kunci lan lulus.
d1.update(**d2, **d3)
print(d1)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
Kaya conto sadurunge, nggunakake nganyari () bakal nganyari obyek kamus asli.
Yen sampeyan pengin nggawe kamus anyar kanthi nggabungake pirang-pirang kamus, gunakake {** d1, ** d2} (saka Python 3.5) utawa dict (** d1, ** d2).
Ing Python 3.9 lan mengko, sampeyan uga bisa nggawe kamus anyar nganggo | operator diterangake sabanjure.
| operator, | = operator (Python 3.9 lan mengko)
Wiwit Python 3.9, sampeyan bisa nggabungake rong kamus nganggo | operator. Yen rong kamus duwe kunci sing padha, nilai ing sisih tengen duwe prioritas.
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
print(d1 | d2)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
print(d2 | d1)
# {'k1': 1, 'k3': 3, 'k4': 4, 'k2': 2}
| Sampeyan uga bisa nggabungake pirang-pirang kamus kanthi nggunakake seri operator.
d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}
d3 = {'k5': 5, 'k6': 6}
print(d1 | d2 | d3)
# {'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}
+ Kaya dene nganyari (), obyek ing sisih kiwa dianyari.
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}
d1 |= d2
print(d1)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
Nambah utawa nganyari pirang-pirang elemen: nganyari (), | = operator
update()
Nalika kunci argumen kunci = nilai kasebut ditemtokake ing metode pembaruan (), kunci lan nilai regane bakal ditambahake. Yen tombol tumpang tindih karo kunci sing ana, bakal ditimpa karo nilai sing ditemtokake ing argumen kasebut.
d = {'k1': 1, 'k2': 2}
d.update(k1=100, k3=3, k4=4)
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
Sampeyan uga bisa nemtokake dhaptar (kunci, nilai) minangka argumen kanggo metode pembaruan (). Yen tombol tumpang tindih karo kunci sing ana, bakal ditimpa karo nilai sing ditemtokake minangka argumen.
d = {'k1': 1, 'k2': 2}
d.update([('k1', 100), ('k3', 3), ('k4', 4)])
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
Kombinasi karo fungsi zip (), elemen bisa ditambahake saka dhaptar tombol lan dhaptar nilai.
d = {'k1': 1, 'k2': 2}
keys = ['k1', 'k3', 'k4']
values = [100, 3, 4]
d.update(zip(keys, values))
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
| = operator (Python 3.9 lan mengko)
Kanthi operator | =, dhaptar (tombol, nilai) bisa ditemtokake ing sisih tengen.
d = {'k1': 1, 'k2': 2}
d |= [('k1', 100), ('k3', 3), ('k4', 4)]
print(d)
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
Elinga yen nemtokake dhaptar nganggo | operator bakal nyebabake kesalahan. Mung operasi kamus menyang kamus sing didhukung.
# print(d | [('k1', 100), ('k3', 3), ('k4', 4)])
# TypeError: unsupported operand type(s) for |: 'dict' and 'list'