Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mengubah suai nilai kamus dalam Python
Gunakan kaedah dict.update()
untuk menggantikan nilai dalam kamus, seperti my_dict.update({'key': 'new value'})
. Kaedah
dict.update()
mengemas kini kamus dengan pasangan nilai kunci daripada nilai yang disediakan.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } my_dict.update( {'name': '迹忆客', 'site': 'jiyik.com' } ) # ????️ {'name': '迹忆客', 'site': 'jiyik.com', 'id': 1, 'topic': 'Python'} print(my_dict)
Kami menggunakan kaedah dict.update
untuk menggantikan nilai dalam kamus. Kaedah
dict.update
mengemas kini kamus dengan pasangan nilai kunci daripada nilai yang disediakan.
Kaedah ini menimpa kekunci sedia ada kamus dan mengembalikan Tiada. Kaedah
dict.update()
boleh dipanggil dengan kamus lain atau pasangan nilai kunci yang boleh diubah (contohnya, senarai dengan 2 elemen setiap tuple).
Kami juga boleh menghantar hujah kata kunci kepada kaedah dict.update()
.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } my_dict.update( [ ('name', '迹忆客'), ('site', 'jiyik.com') ] ) # ????️ {'name': '迹忆客', 'site': 'jiyik.com', 'id': 1, 'topic': 'Python'} print(my_dict)
Sebagai alternatif, kami boleh menggunakan operator membongkar kamus **
.
Untuk menggantikan nilai dalam kamus:
Gunakan operator pembongkaran kamus membongkar pasangan nilai kunci ke dalam kamus baharu.
Menentukan kunci dengan nilai yang dikemas kini.
Nilai baharu akan menimpa nilai kunci sedia ada.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } my_dict = { **my_dict, 'name': '迹忆客', 'site': 'jiyik.com' } # ????️ {'name': '迹忆客', 'site': 'jiyik.com', 'id': 1, 'topic': 'Python'} print(my_dict)
Kami menggunakan operator **
pembongkar kamus untuk membongkar pasangan nilai kunci kamus ke dalam kamus baharu.
Nama dan kekunci tapak menimpa nilai kunci sedia ada dengan nama yang sama.
Sebagai alternatif, kita boleh menggunakan gelung for
.
Untuk menggantikan nilai dalam kamus:
Gunakan gelung for untuk ulangi item kamus.
Menyemak sama ada setiap nilai perlu dikemas kini.
Ganti nilai yang sepadan. Kaedah
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } for key, value in my_dict.items(): if value == 'default': if key == 'name': my_dict[key] = '迹忆客' elif key == 'site': my_dict[key] = 'jiyik.com' # ????️ {'name': '迹忆客', 'site': 'jiyik.com', 'id': 1, 'topic': 'Python'} print(my_dict)
dict.items
mengembalikan paparan baharu pasangan item kamus ((kunci, nilai)).
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } # ????️ dict_items([('name', 'default'), ('site', 'default'), ('id', 1), ('topic', 'Python')]) print(my_dict.items())
Dalam setiap lelaran kami menyemak sama ada nilai semasa perlu diganti dan menggantikan nilai yang sepadan.
Kami juga boleh menggunakan operator gabungan kamus untuk menggantikan nilai dalam kamus. Pengendali
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } my_dict = my_dict | { 'name': '迹忆客', 'site': 'jiyik.com' } # {'name': '迹忆客', 'site': 'jiyik.com', # 'id': 1, 'topic': 'Python'} print(my_dict)
Penggabungan kamus |
tersedia bermula dalam versi Python 3.9.
Kami boleh menyemak versi Python dengan menjalankan arahan berikut.
$ python --version
Penggabungan kamus Pengendali |
mencipta kamus baharu.
Ini juga merupakan kemas kini kamus |=
pengendali untuk tugasan.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } my_dict |= { 'name': '迹忆客', 'site': 'jiyik.com' } # {'name': '迹忆客', 'site': 'jiyik.com', # 'id': 1, 'topic': 'Python'} print(my_dict)
Pastikan versi Python kami ialah 3.9 atau lebih tinggi untuk dapat menjalankan contoh kod.
Kami juga boleh menggunakan gelung for
untuk menggantikan nilai dalam kamus berdasarkan kamus lain.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } another_dict = { 'name': '迹忆客', 'site': 'jiyik.com' } for key, value in another_dict.items(): my_dict[key] = value # ????️ {'name': '迹忆客', 'site': 'jiyik.com', # 'id': 1, 'topic': 'Python'} print(my_dict)
Kami menggunakan gelung for
untuk mengulangi item kamus kedua.
Dalam setiap lelaran, kami menggantikan pasangan nilai kunci kamus pertama.
Kami juga boleh menyemak sama ada kunci itu wujud dalam kamus pertama.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } another_dict = { 'name': '迹忆客', 'site': 'jiyik.com', 'abc': 'xyz', 'one': 'two', } for key, value in another_dict.items(): if key in my_dict: my_dict[key] = value # ????️ {'name': '迹忆客', 'site': 'jiyik.com', # 'id': 1, 'topic': 'Python'} print(my_dict)
Dalam setiap lelaran, kami menggunakan operator in
untuk menyemak sama ada kunci semasa terkandung dalam kamus.
Kunci hanya akan diganti jika ia wujud dalam kamus pertama.
Kami juga boleh menggunakan pemahaman kamus untuk menggantikan nilai dalam kamus.
my_dict = { 'name': 'default', 'site': 'default', 'id': 1, 'topic': 'Python' } another_dict = { 'name': '迹忆客', 'site': 'jiyik.com', 'abc': 'xyz', 'one': 'two', } my_dict = { key: another_dict.get(key, value) for key, value in my_dict.items() } # {'name': '迹忆客', 'site': 'jiyik.com', # 'id': 1, 'topic': 'Python'} print(my_dict)
Kami menggunakan pemahaman kamus untuk mengulangi item kamus.
Pemahaman kamus sangat serupa dengan pemahaman senarai.
Mereka melakukan beberapa operasi pada setiap pasangan nilai kunci dalam kamus, atau pilih subset pasangan nilai kunci yang memenuhi syarat.
Dalam setiap lelaran, kami menggunakan kaedah dict.get()
untuk mendapatkan nilai kunci dalam kamus kedua.
Kami menentukan nilai semasa sebagai sandaran sekiranya kunci tidak wujud dalam kamus kedua.
Kaedah dict.get
mengembalikan nilai kunci yang diberikan jika kunci itu berada dalam kamus, jika tidak mengembalikan nilai lalai.
Kaedah ini mengambil 2 parameter berikut:
kunci Kunci yang mana nilai akan dikembalikan
lalai Mengembalikan nilai lalai jika kunci yang disediakan tidak wujud dalam kamus (pilihan)
another_dict = { 'name': '迹忆客', 'site': 'jiyik.com', 'abc': 'xyz', 'one': 'two', } print(another_dict.get('id')) # ????️ None print(another_dict.get('topic')) # ????️ None print(another_dict.get('name')) # ????️ 迹忆客
Jika nilai lalai parameter tidak disediakan, kemudian Lalai kepada Tiada, jadi kaedah get()
tidak sekali-kali menaikkan KeyError
.
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai nilai kamus dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!