Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Anda dapat menggunakan daftar Python sebagai nilai kamus. Faktanya, Anda bisa menggunakan objek Python sewenang-wenang sebagai nilai kamus dan semua objek hashable sebagai kunci kamus. Anda dapat menentukan daftar [1, 2]_ sebagai nilai dict baik dengan dict[key] = [1, 2] atau dengan d = {key: [1, 2]}

Berikut adalah contoh konkret yang menunjukkan cara membuat kamus friends di mana setiap nilai kamus sebenarnya adalah daftar teman

friends = {'Alice': ['Bob', 'Carl'],
           'Bob': ['Alice'],
           'Carl': []}


print('Alice friends: ', friends['Alice'])
# Alice friends:  ['Bob', 'Carl']

print('Bob friends: ', friends['Bob'])
# Bob friends:  ['Alice']

print('Carl friends: ', friends['Carl'])
# Carl friends:  []

Perhatikan bahwa Anda juga dapat menetapkan daftar sebagai nilai kunci tertentu dengan menggunakan operasi penetapan kamus seperti itu

friends = dict()
friends['Alice'] = ['Bob', 'Carl']
friends['Bob'] = ['Alice']
friends['Carl'] = []


print('Alice friends: ', friends['Alice'])
# Alice friends:  ['Bob', 'Carl']

print('Bob friends: ', friends['Bob'])
# Bob friends:  ['Alice']

print('Carl friends: ', friends['Carl'])
# Carl friends:  []
_

Bisakah Saya Menggunakan Daftar sebagai Tombol Dict?

Anda tidak dapat menggunakan daftar sebagai kunci kamus karena daftar dapat diubah dan karenanya tidak dapat di-hash. Karena kamus dibangun di atas tabel hash, semua kunci harus dapat di-hash atau Python memunculkan pesan kesalahan

Ini sebuah contoh

d = dict()
my_list = [1, 2, 3]
d[my_list] = 'abc'

Ini mengarah ke pesan kesalahan berikut

Traceback (most recent call last):
  File "C:\Users\xcent\Desktop\code.py", line 3, in <module>
    d[my_list] = 'abc'
TypeError: unhashable type: 'list'

Untuk memperbaikinya, ubah daftar menjadi tupel Python dan gunakan tupel Python sebagai kunci kamus. Tuple Python tidak dapat diubah dan hashable dan, oleh karena itu, dapat digunakan sebagai elemen set atau kunci kamus

Berikut adalah contoh yang sama setelah mengonversi daftar menjadi tuple—ini berfungsi. 🎉

d = dict()
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
d[my_tuple] = 'abc'
_

Sebelum Anda pergi, mungkin Anda ingin bergabung dengan akademi email gratis kami untuk pembelajar ambisius seperti Anda? . Kami juga memiliki lembar contekan. 👇

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Chris

Saat bekerja sebagai peneliti dalam sistem terdistribusi, Dr. Christian Mayer menemukan cintanya untuk mengajar siswa ilmu komputer

Untuk membantu siswa mencapai tingkat kesuksesan Python yang lebih tinggi, dia mendirikan situs web pendidikan pemrograman Finxter. com. Dia adalah penulis buku pemrograman populer Python One-Liners (NoStarch 2020), rekan penulis seri Coffee Break Python dari buku yang diterbitkan sendiri, penggemar ilmu komputer, pekerja lepas, dan pemilik salah satu dari 10 blog Python terbesar di dunia

Kesukaannya adalah menulis, membaca, dan coding. Tetapi hasrat terbesarnya adalah untuk melayani calon pembuat kode melalui Finxter dan membantu mereka meningkatkan keterampilan mereka. Anda dapat bergabung dengan akademi email gratisnya di sini

Sebelum kita masuk ke diskusi kita tentang daftar dan kamus dengan Python, kita akan mendefinisikan kedua struktur data. Sementara kita melakukannya, mungkin berguna untuk menganggapnya sebagai daftar tugas harian dan kamus sekolah biasa.

  • Daftar adalah urutan item yang dapat diubah dan diurutkan. Dengan demikian, dapat diindeks, diiris, dan diubah. Setiap elemen dapat diakses menggunakan posisinya dalam daftar. Hal yang sama berlaku untuk agenda Anda, di mana Anda dapat mengubah urutan di mana Anda melakukan sesuatu dan bahkan menjadwal ulang sejumlah tugas untuk hari berikutnya jika diperlukan

  • Kamus adalah kumpulan pasangan kunci-nilai yang dapat diubah dan tidak diurutkan di mana setiap kunci harus unik. Untuk mengakses elemen tertentu, kita harus merujuknya dengan menggunakan kuncinya, seperti Anda mencari kata di kamus sekolah

Dengan mengingat konsep ini, mari tinjau beberapa properti dan metode daftar dan kamus yang tersedia di Python. Meskipun kami tidak bermaksud untuk membahas semuanya, bagian berikut akan memberi kami gambaran sekilas tentang apa yang dapat kami capai dengan menggunakan struktur data ini dalam rangkaian ini

Kamus

Dalam Python, kamus ditulis menggunakan kurung kurawal. Setiap pasangan kunci-nilai (juga dikenal sebagai elemen) dipisahkan dari yang berikutnya dengan koma. Sebagai ilustrasi, mari kita perhatikan kamus berikut

1    player = { 'firstName': 'Jabari', 'lastName': 'Parker', 'jersey': '2', 'heightMeters': '2.03', 'nbaDebutYear': '2014' }

python

di mana kuncinya adalah firstName, lastName, jersey, heightMeters, dan nbaDebutYear. Untuk mengakses nilai yang terkait dengan salah satunya, kami akan menggunakan sintaks berikut

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_

python

Ara. 1 menunjukkan output dari pernyataan di atas

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Namun, jika kami mencoba mengakses elemen melalui kunci yang tidak ada, kami akan menemukan pesan KeyError. Untuk mengatasi skenario tersebut, kita dapat menggunakan metode ________6______6 . Dibutuhkan kunci sebagai argumen pertama dan memungkinkan kita untuk menentukan nilai fallback jika kunci tersebut tidak ada, seperti yang ditunjukkan pada Gambar. 2.

1    player['weightKilograms']
2    player.get('weightKilograms', '0.0')
_

python

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Tentu saja, kita bisa menambahkan kunci itu dan nilainya yang sesuai sebagai elemen baru ke kamus. Untuk melakukannya, kita akan menggunakan metode ________6______7 sebagai berikut.

1    player.update({'weightKilograms': '111.1'})

python

Selain itu, dimungkinkan untuk memperbarui nilai kunci yang diberikan menggunakan operator penugasan

1    player['jersey'] = '12'

python

Mari kita lihat pada Gambar. 3 seperti apa kamus kita sekarang

1    print(player)

python

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Kamus mengizinkan semua jenis tipe data sebagai nilai, seperti yang akan kita pelajari menjelang akhir panduan ini, termasuk daftar dan kamus lainnya

Daftar

Dalam Python, daftar ditulis dengan tanda kurung siku. Meskipun dapat terdiri dari tipe data yang berbeda, daftar biasanya hanya menyertakan item dari jenis yang sama. Dengan kata lain,

1    myList = [1, 'hello', 2.35, True]

python

secara sintaksis valid tetapi tidak terlalu berguna, seperti yang dapat Anda bayangkan. Di samping itu,

1    prices = [1.35, 2.99, 10.5, 0.66]

python

jauh lebih masuk akal. Untuk mengakses salah satu elemen daftar, kita dapat menggunakan indeksnya

1    prices[0]
2    prices[1]
3    prices[2]
4    prices[3]

python

Daftar Python tidak diindeks nol. Jadi, elemen pertama berada di posisi 0, elemen kedua berada di posisi 1, elemen ketiga berada di posisi 2, dan seterusnya. Juga, item terakhir dianggap berada di posisi -1

Operasi yang paling umum adalah menambahkan elemen baru ke akhir daftar dengan metode

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
8 .

1    prices.append(3.49)

python

Demikian juga, dimungkinkan juga untuk memasukkan item pada posisi tertentu (lihat Gambar. 4)

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_0

python

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Metode bawaan lainnya,

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
9 , memungkinkan kita untuk mengurutkan item dalam daftar baik secara numerik, abjad, atau dengan meneruskan kebiasaan . 5. Sebagai ilustrasi, mari gunakan harga dan daftar baru yang disebut produk.
1    player['weightKilograms']
2    player.get('weightKilograms', '0.0')
0
parameter, as can be seen in Fig. 5. To illustrate, let's use prices and a new list called products:

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_1

python

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Secara default,

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
9 beroperasi dalam urutan menaik.

Daftar juga dapat diiris, artinya kita dapat mengambil bagian (termasuk batas bawah tetapi bukan batas atas) seperti yang ditunjukkan pada Gambar. 6

  • Dari elemen pertama hingga posisi tertentu.

    1    player['weightKilograms']
    2    player.get('weightKilograms', '0.0')
    2

  • Dari posisi tertentu hingga elemen terakhir. ________8______3

  • Antara dua posisi yang diberikan dalam daftar.
    1    player['weightKilograms']
    2    player.get('weightKilograms', '0.0')
    4

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Menyatukan Semuanya

Kekuatan sebenarnya dari daftar Python dapat diapresiasi dengan lebih baik ketika kita menggunakannya untuk menyimpan struktur data yang lebih kompleks daripada bilangan bulat, pelampung, atau string. Daftar kamus adalah contoh yang bagus

Mari buat beberapa kamus lagi dengan informasi tentang pemain bola basket lainnya

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_2

python

Sekarang kita dapat menambahkan kamus ini, bersama dengan kamus yang kita gunakan pada contoh pertama panduan ini, ke daftar bernama nba_players (yang awalnya kosong)

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_3

python

Sekarang mari kita periksa nba_players

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_4

python

Seluruh daftar mungkin tidak mudah dibaca, jadi metode yang kami jelaskan sebelumnya juga berlaku dalam kasus ini. Berikut beberapa contohnya

  • Jumlah pemain di nba_players.

    1    player['weightKilograms']
    2    player.get('weightKilograms', '0.0')
    5

  • Pemain pertama dalam daftar.

    1    player['weightKilograms']
    2    player.get('weightKilograms', '0.0')
    6

  • Dua yang terakhir.

    1    player['weightKilograms']
    2    player.get('weightKilograms', '0.0')
    7

  • Karena setiap elemen dalam daftar adalah kamus, kami dapat mengakses tahun debut NBA setiap pemain dan menggunakannya untuk mengurutkan daftar (lihat Gambar. 7)

1    player['firstName']
2    player['lastName']
3    player['jersey']
4    player['heightMeters']
5    player['nbaDebutYear']
_5

python

Apakah mungkin mendeklarasikan daftar kamus dan kamus daftar dengan python?

Ringkasan

Jadi di mana daftar dan kamus digunakan di dunia nyata? . JSON adalah format teks populer untuk pertukaran data dan digunakan sebagai standar de facto di sebagian besar API (Application Programming Interfaces) di semua jenis lingkungan dan untuk berbagai tujuan. API NBA terbuka, tempat kami mengambil informasi yang digunakan dalam panduan ini, adalah salah satu contohnya

Bisakah daftar berisi kamus dan bisakah kamus berisi daftar?

Daftar dapat berisi daftar lain. Kamus dapat berisi kamus lain . Kamus juga dapat berisi daftar, dan sebaliknya.

Bagaimana Anda membuat daftar dengan banyak kamus dengan Python?

Bagaimana cara membuat Daftar Kamus dengan Python? .
membuat daftar kamus
mengakses kunci. pasangan nilai
memperbarui kunci. pasangan nilai
tambahkan kamus ke daftar

Bagaimana Anda membuat kamus dari daftar dan kamus Python?

Untuk mengubah daftar menjadi kamus menggunakan nilai yang sama, Anda dapat menggunakan dict. metode fromkeys() . Untuk mengonversi dua daftar menjadi satu kamus, Anda dapat menggunakan fungsi Python zip(). Pemahaman kamus memungkinkan Anda membuat kamus baru berdasarkan nilai daftar.

Bisakah Anda memiliki daftar kamus dengan Python?

Juga, kamus adalah objek Python yang menyimpan data dalam kunci. format nilai. Jadi, kita bisa membuat daftar python, dengan elemennya sebagai kamus Python . Akhirnya, kita dapat menyebutnya Daftar Kamus dengan Python.