Lấy tư tưởng từ cuốn từ điển trong đời sống hằng ngày, kiểu dữ liệu Dictionary trong Python gồm nhiều bộ (key, value) có key khác nhau. Key trong Dictionary có thể là số, string hoặc tuple. Dictionary mặc định hỗ trợ lập trình viên thêm, sửa, xóa các bộ (key, value) đó.
Ví dụ
#!/usr/bin/python
dict = {'name': 'Mido', 'id': 15, 'age': 22}
print (dict) # Prints complete dictionary
print (dict.keys()) # Prints all the keys
print (dict.values()) # Prints all the values
Kết quả in ra màn hình
{'name': 'Mido', 'id': 15, 'age': 22}
dict_keys(['name', 'id', 'age'])
dict_values(['Mido', 15, 22])
Truy cập đến các phần tử
Để truy cập giá trị của các phần tử bên trong dictionary bạn truy cập thông qua key tương ứng của chúng.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (dic['Kevin La'])
print (dic['Mido Lê'])
Kết quả in ra màn hình
1
15
Trường hợp khi bạn truy cập vào một key không tồn tại trong dictionary sẽ bị lỗi.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (dic['Mido']) # Lỗi truy cập vào key không tồn tại trong dic
Kết quả in ra màn hình
Traceback (most recent call last):
File "C:\Users\Mido\Desktop\demo.py", line 5, in <module>
print (dic['Mido'])
KeyError: 'Mido'
Cập nhật hoặc thêm mới một phần tử
Dictionary cho phép bạn có thể cập nhật lại giá trị của một phần tử bên trong nó.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
dic['Kevin La'] = 1000
print (dic)
Kết quả in ra màn hình
{'Brian Vu': 3, 'Mido Lê': 15, 'Taco Nguyen': 2, 'Kevin La': 1000}
Cũng với thao tác trên nhưng nếu bạn gán giá trị cho một key không tồn tại trong dictionary thì nó sẽ tự động hiểu là bạn đang thêm vào một phần tử mới với key và giá trị đó.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
dic['Truong Dat'] = 11
print (dic)
Kết quả in ra màn hình
{'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Truong Dat': 11, 'Mido Lê': 15}
Xoá phần tử
Python cho phép bạn xoá một phần tử nào đó trong dictionary với lệnh del.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
del dic['Mido Lê']
print (dic)
Kết quả in ra màn hình
{'Taco Nguyen': 2, 'Kevin La': 1, 'Brian Vu': 3}
Với lệnh del này bạn cũng có thể xoá cả một biến kiểu dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
del dic
print (dic)
Kết quả in ra màn hình
Traceback (most recent call last):
File "C:\Users\Mido\Desktop\demo.py", line 7, in <module>
print (dic)
NameError: name 'dic' is not defined
Một số hàm và phương thức thông dụng
Hàm len
Trả về số lượng phần tử của dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (len(dic))
Kết quả in ra màn hình
4
Hàm type
Trả về kiểu của biến được truyền vào.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
num = 123
print (type(dic))
print (type(num))
Kết quả in ra màn hình
<class 'dict'>
<class 'int'>
Phương thức clear
Xoá tất cả các phần tử của dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
dic.clear()
print (dic)
Kết quả in ra màn hình
{}
Phương thức copy
Trả về là một bản sao của dictionary.
Ví dụ
#!/usr/bin/python
dic1 = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
dic2 = dic1.copy()
print (dic2)
Kết quả in ra màn hình
{'Taco Nguyen': 2, 'Kevin La': 1, 'Brian Vu': 3, 'Mido Lê': 15}
Phương thức items
Trả về một list các cặp key và value của dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (dic.items())
Kết quả in ra màn hình
dict_items([('Brian Vu', 3), ('Taco Nguyen', 2), ('Kevin La', 1), ('Mido Lê', 15)])
Phương thức keys
Trả về một list các key của dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (dic.keys())
Kết quả in ra màn hình
dict_keys(['Taco Nguyen', 'Kevin La', 'Brian Vu', 'Mido Lê'])
Phương thức values
Trả về một list các value của dictionary.
Ví dụ
#!/usr/bin/python
dic = {'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3, 'Mido Lê': 15}
print (dic.values())
Kết quả in ra màn hình
dict_values([15, 2, 3, 1])
Phương thức update
Cú pháp
dict1.update(dict2)
Phương thức này thực hiện việc thêm các phần tử của dic2 vào dic1.
Ví dụ
#!/usr/bin/python
dic1 = {'Kevin La': 1, 'Taco Nguyen': 2}
dic2 = {'Brian Vu': 3, 'Mido Lê': 15}
dic1.update(dic2)
print (dic1)
Kết quả in ra màn hình
{'Mido Lê': 15, 'Kevin La': 1, 'Taco Nguyen': 2, 'Brian Vu': 3}