Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengubah suai nilai kamus dalam Python

Bagaimana untuk mengubah suai nilai kamus dalam Python

PHPz
PHPzke hadapan
2023-04-23 11:55:167649semak imbas

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).

Melalukan hujah kata kunci kepada kaedah dict.update()

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 **.

Ganti nilai dalam kamus menggunakan kamus membongkar

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.

Gunakan gelung for untuk menggantikan nilai dalam kamus

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.

Gunakan operator gabungan kamus untuk menggantikan nilai dalam kamus

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.

Ganti nilai dalam kamus berdasarkan kamus lain

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.

Gunakan pemahaman kamus untuk menggantikan nilai dalam kamus

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam