Tutorial pengen...login
Tutorial pengenalan asas Python
pengarang:php.cn  masa kemas kini:2022-04-18 16:14:50

Kamus Python


Kamus ialah satu lagi model bekas boleh ubah dan boleh menyimpan sebarang jenis objek.

Setiap pasangan nilai kunci (key=>value) dalam kamus dipisahkan dengan titik bertindih (:), dan setiap pasangan dipisahkan dengan koma (,), keseluruhan kamus disertakan dalam kurungan kerinting ({}), dan formatnya adalah seperti berikut:

d = {key1 : value1, key2 : value2 }

Kunci mestilah unik, tetapi nilai tidak.

Nilai boleh daripada sebarang jenis data, tetapi kunci mestilah tidak boleh diubah, seperti rentetan, nombor atau tupel.

Contoh kamus mudah:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

Anda juga boleh mencipta kamus seperti ini:

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 } ;

Nilai akses dalam kamus

Letakkan kekunci yang sepadan dalam kurungan segi empat sama biasa, seperti dalam contoh berikut:

#!/usr/ bin/python

dict = {'Nama': 'Zara', 'Umur': 7, 'Kelas': 'Pertama'};

cetak "dict[ 'Nama']: ", dict['Name'];
cetak "dict['Umur']: ", dict['Umur'];

Hasil keluaran di atas contoh:

dikt['Nama']: Zara
dikt['Umur']: 7

Jika anda mengakses data menggunakan kekunci yang tiada dalam kamus, ralat berikut akan dikeluarkan:

#!/usr/bin/python

dict = {'Nama': 'Zara', 'Umur': 7, ' Kelas': 'Pertama'};

cetak "dict['Alice']: ", dict['Alice'];

Hasil keluaran contoh di atas:

dict['Zara']:
Traceback (panggilan terbaharu terakhir):
Fail "test.py", baris 4, dalam <module>
cetak "dict ['Alice']: ", dict['Alice'];
KeyError: 'Alice'


Ubah suai kamus

Cara untuk menambah kandungan baharu pada kamus adalah dengan menambah pasangan kunci/nilai baharu, mengubah suai atau memadam pasangan kunci/nilai sedia ada seperti berikut:

#!/usr/bin/python

dict = {'Nama': 'Zara', 'Umur': 7, 'Kelas': 'Pertama'};

dict['Umur'] = 8; # kemas kini entri sedia ada
dict['Sekolah'] = "DPS School"; : ", dict['Age'];
print "dict['School']: ", dict['School'];

Hasil keluaran contoh di atas:
dict[' Age']: 8
dict['School']: DPS School

Padam elemen kamus

boleh memadamkan satu elemen atau kosongkan kamus, pembersihan hanya memerlukan satu operasi.

Paparkan arahan del untuk memadam kamus, seperti ditunjukkan dalam contoh berikut:

#!/usr/bin/python

# -*- pengekodan: UTF- 8 -*-
dict = {'Nama': 'Zara', 'Umur': 7, 'Kelas': 'Pertama'};

del dict['Nama']; # Kunci padam ialah entri 'Nama'
dict.clear();         # Kosongkan semua entri dalam kamus
del dict                                                                                                                         ;
cetak "dikt ['Sekolah']: ", dict ['Sekolah' ];


Tetapi ini akan membuang pengecualian kerana kamus tidak lagi wujud selepas menggunakan del:

dict['Umur']:
Traceback (terkini panggilan terakhir):

Fail "test.py", baris 8, dalam <module>

cetak "dict[' Age']: ", dict['Age'];
TypeError: 'type ' objek tidak boleh dilanggan



Nota: Kaedah
del() juga akan dibincangkan kemudian.

Ciri-ciri kunci kamus Nilai kamus boleh mengambil sebarang objek ular sawa tanpa sekatan, sama ada objek standard atau ditentukan pengguna, tetapi kunci tidak boleh.


Dua perkara penting yang perlu diingat:

1) Kunci yang sama tidak dibenarkan muncul dua kali. Jika kunci yang sama diberikan dua kali semasa penciptaan, nilai yang terakhir akan diingati, seperti dalam contoh berikut:


#!/usr/bin/python


dict = {'Nama': 'Zara', 'Umur': 7, 'Nama': 'Manni'};

cetak "dict['Name']: ", dict[ 'Nama'];

Hasil keluaran contoh di atas:

dikt['Nama']: Manni

2) Kunci mestilah tidak berubah, jadi anda boleh menggunakan nombor, rentetan atau elemen Kumpulan bertindak sebagai kumpulan, jadi menggunakan senarai tidak akan berfungsi Contoh berikut:

#!/usr/bin/python

dict = {['Name. ']: 'Zara', 'Umur': 7};

cetak "dict['Name']: ", dict['Name'];

Hasil output daripada contoh di atas:

Traceback (panggilan terbaharu terakhir):
Fail "test.py", baris 3, dalam <module>
dict = {['Name' ]: 'Zara', 'Umur': 7} ;
TypeError: senarai objek tidak boleh digoncang


Fungsi & kaedah terbina dalam kamus

Kamus Python mengandungi fungsi terbina dalam berikut:

< td>cmp(dict1, dict2)
Nombor siriFungsi dan perihalan
1
序号函数及描述
1cmp(dict1, dict2)
比较两个字典元素。
2len(dict)
计算字典元素个数,即键的总数。
3str(dict)
输出字典可打印的字符串表示。
4type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
Membandingkan dua elemen kamus. 2len(dict)

Kira bilangan elemen kamus, iaitu jumlah bilangan kunci. 3str(dict)

Output perwakilan rentetan boleh cetak kamus. 4type(variable)
序号函数及描述
1radiansdict.clear()
删除字典内所有元素
2radiansdict.copy()
返回一个字典的浅复制
3radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5radiansdict.has_key(key)
如果键在字典dict里返回true,否则返回false
6radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
7radiansdict.keys()
以列表返回一个字典所有的键
8radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9radiansdict.update(dict2)
把字典dict2的键/值对更新到dict里
10radiansdict.values()
以列表返回字典中的所有值
Mengembalikan jenis pembolehubah input, jika pembolehubah ialah kamus, mengembalikan jenis kamus.
Kamus Python mengandungi kaedah terbina dalam berikut:
< th style="width:5%">Nombor siri< td>9
Fungsi dan penerangan
1radiansdict.clear()<🎜>Padam semua elemen dalam kamus
2radiansdict.copy()<🎜>Kembalikan a salinan cetek kamus
3radiansdict.fromkeys()<🎜> Cipta kamus baharu, menggunakan elemen dalam jujukan seq sebagai kunci daripada kamus dan val ialah semua kunci kamus Nilai awal yang sepadan
4radiansdict.get(key, default=None)<🎜 >Mengembalikan nilai kunci yang ditentukan, jika nilai itu tiada dalam kamus Kembalikan nilai lalai
5radiansdict.has_key(key)< 🎜>Jika kunci ada dalam kamus dict, kembalikan benar, sebaliknya pulangkan palsu
6radiansdict.items()<🎜>Mengembalikan traversable (kunci, nilai) tatasusunan tuple sebagai senarai
7radiansdict.keys()<🎜>Mengembalikan semua kunci kamus sebagai senarai
8 radiansdict.setdefault(key, default=None)<🎜> Sama seperti get(), tetapi jika kunci tidak wujud dalam kamus, kunci akan ditambah dan nilai akan ditetapkan kepada lalai
radiansdict.update(dict2)<🎜>Kemas kini kunci/ pasangan nilai kamus dict2 menjadi dict
10 radiansdict.values()<🎜>Mengembalikan semua nilai dalam kamus sebagai senarai
<🎜><🎜>