Bagaimana Anda mengiris elemen dalam kamus python?

Secara umum, datar lebih baik daripada bersarang. Jadi, jika Anda tidak perlu membuat sarang, mungkin lebih baik tidak

Yang mengatakan, ada kalanya bersarang adalah solusi yang lebih bersih, tetapi pikirkan tentang struktur data Anda. "product", 2.99_ , itu Tuple kan?

Anda sekarang dapat memiliki kamus Tuples, yang lebih mudah diakses;

def menu[key]:
    items = {
        1: ["Ham & Cheese", 5],
        2: ["Cheesy Garlic", 5],
        3: ["Hawaiian", 5],
        4: ["Classic Cheese", 5]
        }
    return items.get[key]

… yang dapat diakses dengan name, price = menu[key] yang pada gilirannya dapat di-loop

for key in range[1,5]:
    name, price = menu[key]
    print[name, price]
_

Setelah Anda sejauh itu, dan itu melakukan apa yang Anda inginkan, Anda bisa menjadi sedikit kreatif dengan fungsi print[] dalam loop itu dan memiliki sesuatu seperti ini. print[f"{key}: {name.ljust[18,'.']}${price:0.2f}"] yang dapat terlihat sedikit mengintimidasi, tetapi tidak sulit untuk dipisahkan, yang akan menjadi hal yang baik untuk Anda lakukan, sehingga Anda memperluas apa yang telah Anda pelajari

Jika Anda memiliki kamus datar, Anda juga dapat menggunakan kelas list[] untuk mengonversi objek tampilan menjadi daftar

Kami menggunakan kelas list[]_ untuk mengonversi tampilan item kamus menjadi daftar

Ini diperlukan karena objek tampilan tidak dapat disubskrip [tidak dapat diakses di indeks]

Setelah kami mengonversi tampilan menjadi daftar, kami dapat menggunakan pengirisan daftar dan kemudian meneruskan hasilnya ke kelas dict[]

Sintaks untuk mengiris daftar adalah itertools.islice[]2

Indeks start bersifat inklusif dan indeks stop bersifat eksklusif [hingga, tetapi tidak termasuk]

Jika indeks start dihilangkan, maka dianggap sebagai itertools.islice[]6, jika indeks stop dihilangkan, potongan akan berada di akhir daftar

Indeks Python berbasis nol, jadi item pertama dalam daftar memiliki indeks itertools.islice[]6, dan item terakhir memiliki indeks itertools.islice[]9 atau dict[]0

Jika Anda ingin mengiris kamus berdasarkan kunci, gunakan pemahaman dict

Iris kamus menggunakan pemahaman dict

Untuk mengiris kamus

  1. Gunakan pemahaman dict untuk mengulangi kamus
  2. Periksa apakah setiap kunci harus dimasukkan dalam kamus baru

Kami menggunakan pemahaman dict untuk mengulangi kamus

Pemahaman dict sangat mirip dengan pemahaman daftar

Mereka melakukan beberapa operasi untuk setiap pasangan nilai kunci dalam kamus atau memilih subset dari pasangan nilai kunci yang memenuhi syarat

Pada setiap iterasi, kami menggunakan operator dict[]1 untuk memeriksa apakah kunci saat ini harus ditambahkan ke kamus baru

Kamus baru hanya berisi key-value pair yang ditentukan

Jika beberapa kunci dalam koleksi mungkin tidak ada dalam kamus, gunakan pernyataan dict[]2

Pernyataan dict[]_2 memeriksa apakah kunci ada di kamus, jadi tidak ada pengecualian dict[]4 yang dimunculkan

Mencoba mengakses kunci yang tidak ada dalam kamus menimbulkan pengecualian dict[]4

Namun, Anda juga dapat menggunakan metode dict[]_6 jika Anda perlu menentukan nilai default untuk kunci yang tidak ada

Alih-alih menggunakan notasi tanda kurung siku untuk mengakses setiap nilai, kami menggunakan metode dict[]6

Metode mengembalikan nilai untuk kunci yang diberikan jika kuncinya ada di kamus, jika tidak, nilai default dikembalikan

Metode ini mengambil 2 parameter berikut

NameDescriptionkeyKunci untuk mengembalikan nilaidefaultNilai default yang akan dikembalikan jika kunci yang diberikan tidak ada dalam kamus [opsional]

Jika nilai untuk parameter dict[]_8 tidak diberikan, nilai defaultnya adalah dict[]9, sehingga metode itertools.islice[]0 tidak pernah memunculkan dict[]4

Contoh kode sederhana. Anda harus mengimpor modul itertools untuk menggunakan metode islice dalam program ini

import itertools

d = {1: "A", 2: "B", 3: "C"}

res = dict[itertools.islice[d.items[], 2]]

print[res]

Keluaran

Bagaimana cara mengiris kamus berdasarkan nilai kuncinya dengan Python?

Menjawab. Anda bisa menggunakan pemahaman kamus dengan

d = {0: 1, 1: 2, 2: 3, 10: 4, 11: 5, 12: 6, 100: 7, 101: 8, 102: 9, 200: 10, 201: 11, 202: 12}
keys = [0, 1, 2, 100, 101, 102]
d1 = {k: d[k] for k in keys}

print[d1]

Keluaran. {0. 1, 1. 2, 2. 3, 100. 7, 101. 8, 102. 9}

Berikan komentar jika Anda memiliki keraguan dan saran tentang topik pemotongan Python ini

Catatan. IDE. PyCharm 2021. 3. 3 [Edisi Komunitas]

Windows 10

Piton 3. 10. 1

Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan

Rohit

Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis

Bisakah kita memotong kamus dengan Python?

Kami telah menginisialisasi kamus bahasa pemrograman yang berbeda, kami memiliki kunci variabel lain yang memiliki semua kunci yang kami minati. Kemudian kita menggunakan loop for dan meneruskan kunci , dengan cara ini, kamus dapat diiris.

Bagaimana Anda menggunakan slice dalam kamus?

potongan tipis dan datar dari sesuatu . sepotong roti. bagian, porsi, atau bagian. sepotong tanah.

Apakah kamus mendukung pemotongan Python?

Perbedaan 2. Kamus dengan Python Tidak Dapat Diindeks Atau Dipotong .

Bagaimana cara menghapus elemen tertentu dari kamus?

Metode clear[]. Metode clear[] membersihkan semua item dalam kamus. Contoh
Metode pop[]. Metode pop menggunakan kata kunci dari kamus yang diberikan untuk menghapus item dari kamus itu. .
Metode popitem[]. Popitem[] menghapus item terakhir yang ditambahkan ke kamus

Bài mới nhất

Chủ Đề