Itu bagus dan semuanya. Tetapi bagaimana jika Anda ingin membalik seluruh kamus? Show
Tukar nilaiAnda dapat dengan mudah menukar pasangan kunci, kamus dengan Python, dengan satu liner
Jadi dalam praktiknya Anda dapat memiliki sesuatu seperti ini _Ini akan menghasilkan
Jadi satu baris
membalik seluruh kamus. Trik yang bagus. ) Belajar Python?
Komentar teratas (2)MahkotaSortir diskusiLangganan Pengguna Tepercaya PribadiBuat template Template memungkinkan Anda dengan cepat menjawab FAQ atau menyimpan cuplikan untuk digunakan kembali Kirim Pratinjau Tutup Ciutkan Perluas
puisi puisi
Mengikuti Perangkat lunak seperti mimpi dibuat. Saya kebanyakan mengoceh tentang kinerja, kerumitan yang tidak perlu, privasi, dan pengumpulan data
Menu drop down
Perlu diingat bahwa ini bisa gagal jika nilainya tidak dapat di-hash _-) Semua struktur data yang dapat diubah dalam Python tidak dapat di-hash Suka komentar. Suka komentar. 2 suka SukaBeberapa komentar mungkin hanya dapat dilihat oleh pengunjung yang masuk. Masuk untuk melihat semua komentar Kode Etik • Laporkan penyalahgunaanYakin ingin menyembunyikan komentar ini? Objek kamus Python adalah cara mudah untuk menyimpan pasangan kunci-nilai. Dicts menyediakan metode kemudahan untuk akses data tetapi membiarkan pengembang menggunakan cara mereka sendiri untuk operasi. Misalnya, untuk menukar posisi dua nilai dalam kamus python, seseorang harus merancang pendekatan khusus - tidak ada metode 'tukar' Daftar isi Ini bukanlah tugas yang sulit dan dapat didekati seperti logika swap dasar lainnya yang diterapkan di banyak bahasa. Namun, Python menyediakan memang memungkinkan seseorang untuk menyederhanakan sintaks swap — termasuk di antara nilai-nilai dalam objek TL;DRUrutan evaluasi Python memungkinkan sintaks yang disederhanakan untuk membuat swap. Item kamus dapat memiliki nilai yang ditukar menggunakan sintaks yang sama, sehingga kunci secara konseptual seperti variabel. Kode contoh ini memberikan demonstrasi # define key value pairs d = {"a": 1, "b": 2, "c": 3} # swap values using Pythonic syntax d["a"], d["b"] = d["b"], d["a"] # result {'a': 2, 'b': 1, 'c': 3} Pengenalan Cepat. Dasar-dasar PertukaranSwapping adalah konsep dasar dalam ilmu komputer. Bagaimana seseorang memilih untuk menukar nilai yang diberikan ke satu variabel dengan nilai yang diberikan ke variabel kedua adalah urutan logis yang didekati oleh banyak program. Ini mudah - tetapi pada awalnya dapat menyebabkan kebingungan bagi mereka yang baru memprogram. Pertimbangkan skenario berikut # The first variable variable_one = 1 # The second variable variable_two = 2_ Di sini kita memiliki dua variabel; . Masing-masing memiliki nilai integer unik yang ditetapkan. Niat kami adalah untuk mengubahnya sedemikian rupa sehingga # The first variable variable_one = 1 # The second variable variable_two = 22 menghasilkan nilai # The first variable variable_one = 1 # The second variable variable_two = 23 dan # The first variable variable_one = 1 # The second variable variable_two = 24 menghasilkan nilai # The first variable variable_one = 1 # The second variable variable_two = 25. Kami dapat dengan mudah menetapkan nilai # The first variable variable_one = 1 # The second variable variable_two = 2_4 ke # The first variable variable_one = 1 # The second variable variable_two = 22 tetapi di situlah masalahnya dimulai. Pertimbangkan yang berikut ini # swap first value variable_1 = variable_2 # swap second value variable_2 = variable_1 # <--------- keeps the same value! Saat melakukan penukaran kedua — menetapkan nilai # The first variable variable_one = 1 # The second variable variable_two = 22 ke # The first variable variable_one = 1 # The second variable variable_two = 24, tidak ada perubahan karena nilai # The first variable variable_one = 1 # The second variable variable_two = 24 baru saja ditetapkan ke # The first variable variable_one = 1 # The second variable variable_two = 22. Bagian kedua dari kode ini setara dengan mengatakan # swap first value variable_1 = variable_2 # swap second value variable_2 = variable_1 # <--------- keeps the same value!2. Jelas, ini bukan "menukar" apa pun. Solusinya adalah dengan menggunakan nilai sementara seperti itu # 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 # <------- swap works here Dalam pendekatan ini, salinan # The first variable variable_one = 1 # The second variable variable_two = 2_2 dibuat sebelum dipindahkan ke nilai lain. Ini menyediakan sarana untuk mengakses nilai awal setelah fakta sedemikian rupa sehingga tugas kita selanjutnya berfungsi sebagaimana mestinya. Ini adalah konsep logika dasar dalam ilmu komputer dan pemrograman. Mari pertimbangkan cara menerapkan ini pada pertukaran dua nilai dict dengan PythonTukar Dua Nilai DictDi sini kami menerapkan pendekatan penukaran menggunakan nilai sementara untuk menukar nilai dua entri dalam objek Python # define key value pairs dict_items = {"a": 1, "b": 2, "c": 3} # swap values of a and b tmp = dict_items["a"] # Make first swap dict_items["a"] = dict_items["b"] # Make second, using tmp value dict_items["b"] = tmp # View output print(dict_items) {'a': 2, 'b': 1, 'c': 3} Seperti yang diharapkan, menerapkan metode yang sama dengan menggunakan nilai sementara membuat prosedur pertukaran ini berjalan lancar. Python dirancang sedemikian rupa sehingga urutan evaluasi ekspresi memungkinkan kita untuk menyederhanakan operasi ini Pertukaran Khusus PythonPython mendefinisikan urutan interpretasi ekspresi dan pernyataan penugasan. Sebelum kita mendalami cara kerja swapping di Python, mari kita lihat sintaksnya beraksi # Define two variables variable_1 = 1 variable_2 = 2 # swap values Pythonically variable_1, variable_2 = variable_2, variable_1 # View result print("variable_1:", variable_1) print("variable_2:", variable_2) variable_1: 2 variable_2: 1 Di sini nilai # The first variable variable_one = 1 # The second variable variable_two = 22 dan # The first variable variable_one = 1 # The second variable variable_two = 24 ditukar tanpa menggunakan variabel sementara. Tapi, bagaimana bisa?
Penting untuk dicatat bahwa Python "under-the-hood" menggunakan konsep variabel sementara yang sama seperti yang telah kita gunakan sampai saat ini. "Gula sintaksis" ini hanya membuat pengalaman pemrograman menjadi lebih sederhana. Tidak ada yang menghindari persyaratan logis pada tingkat absolut. Dengan mengingat metode ini, mari kita pertimbangkan bagaimana menukar dua nilai kamus dengan Python lagi Tukar Dua Nilai Dict Secara PythonSekali lagi, kami memiliki objek kamus dengan beberapa pasangan kunci-nilai. Sekali lagi, niat kami adalah untuk menukar nilai yang ditetapkan ke dua kunci sedemikian rupa sehingga secara efektif "ditukar" setelah selesai. Perhatikan contoh kode berikut # 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) Result: {'a': 2, 'b': 1, 'c': 3} Di sini kita melihat cara Pythonic bertukar bekerja dalam batas-batas objek Tukar Posisi Dua Item dalam Python DictSampai saat ini, kami telah menukar nilai variabel. Dalam kasus menukar nilai dari dua entri kunci kamus, konsep yang sama berlaku. kami memiliki dua variabel ( Untuk menukar urutan sebenarnya dari dua item dalam kamus, kami masih melakukan operasi penetapan tetapi, dalam hal ini, "penugasan" adalah urutan indeks kamus. Masalahnya di sini adalah objek kamus tidak memiliki urutan yang diindeks. Untuk “menukar” posisi dua item # 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 # <------- swap works here8 atau # 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 # <------- swap works here9. Mengingat dict objek memiliki key-value pair, objek # 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 # <------- swap works here9 sangat cocok. Pertimbangkan pendekatan berikut # 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) Result: {'b': 2, 'a': 1, 'c': 3} Di sini kita melihat konversi objek # define key value pairs dict_items = {"a": 1, "b": 2, "c": 3} # swap values of a and b tmp = dict_items["a"] # Make first swap dict_items["a"] = dict_items["b"] # Make second, using tmp value dict_items["b"] = tmp # View output print(dict_items) {'a': 2, 'b': 1, 'c': 3}3 menjadi objek # 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 # <------- swap works here8 yang diindeks dari # 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 # <------- swap works here9 pasang # define key value pairs dict_items = {"a": 1, "b": 2, "c": 3} # swap values of a and b tmp = dict_items["a"] # Make first swap dict_items["a"] = dict_items["b"] # Make second, using tmp value dict_items["b"] = tmp # View output print(dict_items) {'a': 2, 'b': 1, 'c': 3}6 sehingga "swap" berada di antara nilai indeks. Pertukaran ini terjadi dengan sintaks ekspresi urutan penugasan yang sama, tepat di luar objek dict . Kemudian, nilai yang ditukar dengan benar diubah kembali menjadi objek dict PenafianPendekatan ini menarik tetapi tidak optimal. Jika urutan nilai dalam objek Pikiran AkhirPython memungkinkan pertukaran data didekati dengan sintaks yang diminimalkan dibandingkan dengan bahasa lain. Kami telah menunjukkan cara menukar dua nilai di seluruh artikel ini, tetapi sintaksnya meluas ke argumen sebanyak yang diinginkan. Misalnya, # Define two variables variable_1 = 1 variable_2 = 2 # swap values Pythonically variable_1, variable_2 = variable_2, variable_1 # View result print("variable_1:", variable_1) print("variable_2:", variable_2) variable_1: 2 variable_2: 1_0 adalah sintaks nilai sepenuhnya Objek Bagaimana cara mengubah posisi kunci dalam kamus dengan Python?Tugas ini diselesaikan dalam 3 langkah. . Kamus pertama diubah menjadi pasangan nilai kunci yang setara dalam bentuk tupel, Operasi swap selanjutnya dilakukan dengan cara Pythonic Terakhir, daftar tupel diubah kembali ke kamus, dalam format yang diperlukan Bisakah Anda menyusun ulang kamus dengan Python?Nah, seperti python 3. 7, kamus mengingat urutan item yang dimasukkan juga. Jadi kita juga dapat mengurutkan kamus menggunakan fungsi sortir() bawaan python . Sama seperti dengan iterable lainnya, kita dapat mengurutkan kamus berdasarkan kriteria yang berbeda tergantung pada argumen kunci dari fungsi sortir().
Bagaimana cara membalik urutan kamus dalam kamus?Gunakan dict. items() untuk mendapatkan daftar pasangan tupel dari d dan mengurutkannya menggunakan fungsi lambda dan diurutkan(). Gunakan dict() untuk mengonversi daftar yang diurutkan kembali ke kamus. Gunakan parameter terbalik di sort() untuk mengurutkan kamus dalam urutan terbalik, berdasarkan argumen kedua . |