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
- Gunakan pemahaman dict untuk mengulangi kamus
- 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