Định nghĩa
Lấy ý 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à numbers
, 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': 'Thanh', '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': 'Thanh', 'id': 15, 'age': 22} dict_keys(['name', 'id', 'age']) dict_values(['Thanh', 15, 22])
Truy cập đến các phần tử
Truy cập thông qua key tương ứng để truy cập giá trị của các phần tử bên trong dictionary
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'Python': 3} print (dic['C++']) print (dic['Python'])
Kết quả in ra màn hình:
1 3
Python sẽ báo lỗi khi truy cập vào một key không tồn tại trong dictionary
.
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'Python': 3} print(dic['C#']) # 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\Who\Desktop\demo.py", line 5, in <module> print (dic['C#']) KeyError: 'C#'
Cập nhật hoặc thêm mới một phần tử
Dictionary
cho phép 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 = {'C++': 1, 'Python': 2} dic['C++'] = 1000 print(dic)
Kết quả in ra màn hình:
{'C++': 1000, 'Python': 2}
Cũng với thao tác trên nhưng nếu gán giá trị cho một key không tồn tại trong dictionary
thì nó sẽ tự động hiểu là đang thêm vào một phần tử mới với key và giá trị đó.
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'Python': 2} dic['C#'] = 11 print(dic)
Kết quả in ra màn hình:
{'C++': 1, 'Python': 2, 'C#': 3}
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 = {'C++': 1, 'Python': 2, 'C#': 3} del dic['C#'] print (dic)
Kết quả in ra màn hình:
{'C++': 1, 'Python': 2}
Có thể xoá cả một biến kiểu dictionary
với lệnh del
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'Python': 2, 'C#': 3} del dic print(dic)
Kết quả in ra màn hình:
Traceback (most recent call last): File "C:\Users\Who\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 = {'C++': 1, 'Python': 2, 'C#': 3} print(len(dic))
Kết quả in ra màn hình:
3
Hàm type
Trả về kiểu của biến được truyền vào.
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'Python': 2, 'C#': 3} 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 = {'C++': 1, 'Python': 2, 'C#': 3} 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 = {'C++': 1, 'Python': 2, 'C#': 3} dic2 = dic1.copy() print (dic2)
Kết quả in ra màn hình:
{'C++': 1, 'Python': 2, 'C#': 3}
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 = {'C++': 1, 'Python': 2, 'C#': 3} print(dic.items())
Kết quả in ra màn hình:
dict_items([('C#', 3), ('Python', 2), ('C++', 1)])
Phương thức keys
Trả về một list
các key của dictionary
.
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'C#': 2, 'Python': 3} print(dic.keys())
Kết quả in ra màn hình:
dict_keys(['C++', 'C#', 'Python'])
Phương thức values
Trả về một list
các value của dictionary
.
Ví dụ
#!/usr/bin/python dic = {'C++': 1, 'C#': 2, 'Python': 3} print(dic.values())
Kết quả in ra màn hình:
dict_values([1, 2, 3])
Phương thức update
Cú pháp
dict1.update(dict2)
Phương thức này thêm các phần tử của dic2
vào dic1
.
Ví dụ
#!/usr/bin/python dic1 = {'C++': 1, 'Python': 2} dic2 = {'C#': 3, 'Java': 4} dic1.update(dic2) print(dic1)
Kết quả in ra màn hình:
{'C++': 1, 'Python': 2, 'C#': 3, 'Java': 4}