Menukar nilai dalam kamus python

Kamus berisi pasangan kunci & nilai (mewakili kunci. value), kamus dibuat dengan memberikan elemen di dalam kurung kurawal ({}), dipisahkan dengan koma.  

Di sini, kami memiliki kamus dan dua nilai yang posisinya akan ditukar

Untuk ini, kami akan mengonversi daftar menjadi daftar tuple menggunakan metode items(). Kemudian, kami akan menukar nilai dalam daftar ini menggunakan metode penukaran. Kemudian, kami akan mengubah daftar kembali ke kamus dan mencetaknya

Program untuk menukar posisi item kamus

# Python program to swap the position 
# of dictionary items

# Initialising dictionary and swapping positions 
myDict = {'Scala': 2, 'Javascript': 5, 'Python': 8, 'C++': 1, 'Java': 4}
i, j = 2, 4

# Swapping Values for the given positions.. 
tupList = list(myDict.items())
tupList[i], tupList[j] = tupList[j], tupList[i]
swappedDist = dict(tupList)

# Printing the dictionaries...
print("Initial dictionary = ", end = " ")
print(myDict)
print("Dictionary after swapping = ", end = " ")
print(swappedDist)

Keluaran

Initial dictionary =  {'Scala': 2, 'C++': 1, 'Python': 8, 'Java': 4, 'Javascript': 5}
Dictionary after swapping =  {'Scala': 2, 'C++': 1, 'Python': 8, 'Java': 4, 'Javascript': 5}
_

Penjelasan

Dalam kode di atas, kami memiliki kamus myDict, dan i & j (posisi untuk bertukar). Untuk menukar, kami telah mengonversi kamus ke daftar tuple tupList menggunakan metode list() untuk setiap pasangan nilai kunci kamus menggunakan fungsi items()

Tukar Posisi Dua Nilai Kamus Python dilakukan dengan logika tukar yang sama yang diajarkan di banyak kelas ilmu komputer. Tapi Python menawarkan cara yang lebih sederhana untuk melakukan hal-hal ini yang juga bisa digunakan dengan objek kamus

Kamus adalah struktur data yang sangat berguna dalam pemrograman. Biasanya digunakan untuk mem-hash kunci dan nilainya secara bersamaan sehingga dapat ditemukan dengan cepat

Swap Position Of Two Values Python DictionaryTukar Posisi Dua Nilai Kamus Python

Dasar-dasar Pertukaran

Swapping adalah konsep dasar dalam ilmu komputer. Banyak program menggunakan urutan logis untuk memutuskan bagaimana menukar nilai satu variabel dengan nilai variabel lainnya

Ini mudah, tetapi orang yang baru mengenal pemrograman mungkin akan bingung pada awalnya. Pertimbangkan situasi berikut

# The first variable
variable_one = 1
# The second variable
variable_two = 2

Kami memiliki dua variabel di sini. variable_one dan variable_two. Masing-masing memiliki nilai integer uniknya sendiri. Tujuan kita adalah mengubahnya sehingga nilai akhir variable_1 adalah 2 dan nilai akhir

# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
0 adalah 1. Kita dapat dengan mudah memberikan nilai variabel 2 ke variable_1, tetapi di situlah masalahnya dimulai. Pikirkan tentang hal-hal ini

# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1

Pertukaran kedua, yang melibatkan pemberian nilai variable_1 ke

# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
0, tidak mengubah apa pun karena nilai
# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
0 baru saja diberikan ke variable_1

Bagian kedua kode ini sama dengan mengatakan

# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
0 =
# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
0. Jelas, tidak ada yang "ditukar" di sini. Jawabannya adalah dengan menggunakan nilai sementara seperti ini

# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
_

Dalam metode ini, variable_1_ disalin sebelum disetel ke nilai yang berbeda. Ini memberi kita cara untuk mengetahui berapa nilai awal setelah fakta, sehingga tugas kita selanjutnya berfungsi sebagaimana mestinya

Tukar Kunci dan Nilai dengan Python

1. Tidak berfungsi ketika ada beberapa nilai yang sama

Salah satu solusi sederhana adalah mengganti kunci dan nilai

Contoh

# Python3 code to demonstrate 
# swap of key and value
   
# initializing dictionary
old_dict = {'A': 10, 'B': 50, 'C': 70, 'D': 40, 'E': 20, 'F': 60, 'G': 50, 'H':20}
 
new_dict = dict([(value, key) for key, value in old_dict.items()])
   
# Printing original dictionary
print ("Original dictionary is : ")
print(old_dict)
 
print()
 
# Printing new dictionary after swapping keys and values
print ("Dictionary after swapping is :  ")
print("keys: values")
for i in new_dict:
    print(i, " :  ", new_dict[i])

Keluaran

kamus asli adalah
{'SEBUAH'. 10, 'B'. 50, 'C'. 70, 'D'. 40, 'E'. 20, 'P'. 60, 'G'. 50, 'H'. 20}Kamus setelah bertukar adalah

kunci. nilai-nilai
10. SEBUAH
50. G
70. C
40. D
20. H
60. F

Tapi ada yang salah dengan rencana ini. Dalam contoh kami, kami memiliki beberapa kunci dengan nilai yang sama, seperti

# swap first value
variable_1 = variable_2
# swap second value
variable_2 = variable_1
9 dan
# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
0.
# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
1 dan
# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
2 juga memiliki nilai yang sama

Namun pada akhirnya, kami hanya mendapatkan satu kunci dari masing-masingnya. saya. e. , kami hanya mendapat

# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
_0 dan
# create a temporary value
tmp = variable_1
# make first swap in same fashion
variable_1 = variable_2
# make second swap, using tmp value
variable_2 = tmp
1. Jadi, inilah cara lain untuk mengatasi masalah ini

2. Menangani beberapa nilai yang sama

Dalam metode ini, kami akan memeriksa untuk melihat apakah nilainya sudah ada. Jika sudah ada, tambahkan ke daftar

Contoh

# Python3 code to demonstrate 
# swap of key and value
   
# initializing dictionary
old_dict = {'A': 10, 'B': 50, 'C': 70, 'D': 40, 'E': 20, 'F': 60, 'G': 50, 'H':20}
 
# Printing original dictionary
print ("Original dictionary is : ")
print(old_dict)
 
print()
new_dict = {}
for key, value in old_dict.items():
   if value in new_dict:
       new_dict[value].append(key)
   else:
       new_dict[value]=[key]
 
# Printing new dictionary after swapping
# keys and values
print ("Dictionary after swapping is :  ")
print("keys: values")
for i in new_dict:
    print(i, " :", new_dict[i])

Keluaran

kamus asli adalah
{'SEBUAH'. 10, 'B'. 50, 'C'. 70, 'D'. 40, 'E'. 20, 'P'. 60, 'G'. 50, 'H'. 20}

Kamus setelah bertukar adalah
kunci. nilai-nilai
10. ['SEBUAH']
50. ['B', 'G']
70. ['C']
40. ['D']
20. ['E', 'H']
60. ['F']

Tukar Dua Nilai Dict Secara Python

Kami memiliki objek kamus dengan sejumlah pasangan kunci dan nilai. Tujuan kami adalah menukar nilai yang ditetapkan ke dua kunci sehingga berfungsi seolah-olah "ditukar" saat pekerjaan selesai. Lihatlah kode berikut sebagai contoh

Contoh

# define key value pairs
d = {"a": 1, "b": 2, "c": 3}
# swap Pythonically
d["a"], d["b"] = d["b"], d["a"]
# view result
print("Result:", d)

Keluaran

Hasil. {'sebuah'. 2, 'b'. 1, 'c'. 3}

Di sini, kita dapat melihat bahwa cara penukaran Pythonic berfungsi di dalam objek dict seperti halnya di dalam objek variabel yang bukan dict

Ini berfungsi dengan baik untuk menukar nilai dari dua item dict, tetapi bagaimana jika kita ingin menukar urutan dua item dict?

Tukar Posisi Dua Item dalam Python Dict

Harap aktifkan JavaScript

Activity Diagram Sistem Pendaftaran Kursus. UML

Kami telah menukar nilai variabel sampai sekarang. Ide yang sama berlaku untuk menukar nilai dari dua entri kunci kamus. kami sedang melakukan operasi penugasan pada dua variabel (dalam hal ini, item dict)

Untuk menukar urutan sebenarnya dari dua item dalam kamus, kami masih melakukan operasi penugasan, tetapi kali ini "penugasan" adalah urutan indeks kamus. Masalahnya adalah objek kamus tidak memiliki urutan yang didasarkan pada indeks

Untuk "menukar" urutan dua item dict, pertama-tama kita harus mengubah objek dict menjadi sesuatu yang dapat diletakkan dalam urutan tertentu, seperti daftar atau tuple. Karena objek dict memiliki pasangan nilai kunci, objek tuple sangat cocok. Pikirkan tentang rencana berikut

Contoh

# define key value pairs
d = {"a": 1, "b": 2, "c": 3}
# convert to a tuple
t = list(d.items())
print("Tuples:", t)
Tuples: [('a', 1), ('b', 2), ('c', 3)]
# swap order via index values
t[0], t[1] = t[1], t[0]
print("Swapped:", t)
Swapped: [('b', 2), ('a', 1), ('c', 3)]
# Convert back to dictionary
d = dict(t)
print("Result:", d)

Keluaran

Tupel. [('a', 1), ('b', 2), ('c', 3)]
Tertukar. [('b', 2), ('a', 1), ('c', 3)]
Hasil. {'b'. 2, 'a'. 1, 'c'. 3}

Di sini, objek dict yang tidak diindeks bernama d diubah menjadi objek daftar terindeks dari pasangan tuple yang disebut t. "Swap" terjadi antara nilai indeks

Sintaks ekspresi urutan penugasan yang sama digunakan untuk pertukaran ini, tetapi terjadi di luar objek dict. Nilai-nilai tersebut kemudian dimasukkan kembali ke objek dict setelah ditukar dengan benar

Ringkasan

Pada tutorial kali ini kita telah membahas Swap Position Of Two Values ​​Python Dictionary dalam contoh yang berbeda, Tutorial ini memberikan contoh program dengan output yang membantu kebutuhan Anda dalam Pemrograman Python

Bisakah Anda mengubah nilai dalam python kamus?

Nilai Kamus Python dapat diperbarui menggunakan dua cara berikut i. e. menggunakan metode update() dan juga, menggunakan tanda kurung siku . Kamus mewakili pasangan kunci-nilai dalam Python, diapit oleh kurung kurawal. Kuncinya unik dan titik dua memisahkannya dari nilai, sedangkan koma memisahkan item.

Bagaimana Anda menulis fungsi swap dengan python?

Dalam tutorial ini, kita akan mempelajari cara menukar dua variabel dalam program Python. .
P = int( input("Masukkan nilai untuk P. "))
Q = int( input("Masukkan nilai Q. "))
# Untuk Tukar nilai dari dua variabel
P, Q = Q, P
print ("Nilai P setelah ditukar. ", P)
print ("Nilai Q setelah ditukar. ", Q)

Bagaimana Anda membalikkan kamus dengan python?

Singkatnya, salah satu cara terbaik untuk membalikkan kamus dengan Python adalah dengan menggunakan perulangan for bersama dengan metode kamus `setdefault`python untuk menyimpan kunci duplikat di . Jika itu bukan masalah bagi Anda, pemahaman kamus berfungsi dengan baik. `{v. k untuk k, v di my_dict. item()}`python. . If that's not an issue for you, a dictionary comprehension works great: `{v: k for k, v in my_dict. items()}`python.