Search…

Tìm Hiểu Về Dictionary trong Python

02/11/20204 min read
Tìm hiểu kiểu dữ liệu Dictionary và các phương thức thao tác với Dictionary trong Python.

Đị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}
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024