Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài 8: Dictionary trong Python

Ở các phần trước chúng ta đã được tìm hiểu về các kiểu dữ liệu như string, number, list, tuple rồi, và phần này chúng ta sẽ cùng đi vào tìm hiểu một kiểu dữ liệu cuối cùng trong 5 kiểu dữ liệu chuẩn của Python đó là Dictionary.

1, Dictionary là gì?

Kiểu dữ liệu dictionary trong Python là một kiểu dữ liệu lưu trữ các giá trị chứa key và value , nhìn một cách tổng quát thì nó giống với Json. Và đối với kiểu dữ liệu này thì các giá trị bên trong nó không được sắp xếp theo một trật tự nào cả.

Để khai báo một dictionary chúng ta sử dụng cặp dấu {} theo cú pháp sau:

{key1: value1, key2: value2,..., keyN: valueN}

Trong đókey1: value1, key2: value2,..., keyN: valueN là các key và giá trị của kiểu dữ liệu dictionary. Và tên của key thì các bạn phải tuân thủ theo một số quy tắc sau:

  • Các phần tử đều phải có key.
  • Key chỉ có thể là số hoặc chuỗi.
  • Key phải là duy nhất, nếu không nó sẽ nhận giá trị của phần tử có key được xuất hiện cuối cùng.
  • Key khi đã được khai báo thì không thể đổi được tên.
  • Key có phân biệt hoa thường.

VD: Mình sẽ khai báo một dictionary có tên là person.

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'single'        
    }

2, Truy cập đến các phần tử trong dictionary.

Ở trên mình có nói là các phần tử trong dictionary được sắp xếp không theo một thứ tự nào cả, nên cũng chính vì điều đó mà chúng ta không thể nào sử dụng được cú pháp như đối với string và list mà chúng ta sẽ dựa vào các key của nó để truy xuất.

-Để truy cập đến các phần tử trong dictionary thì các bạn sử dụng cú pháp sau:

dicName[key]

Trong đó:

  • dicName là tên của của dictionary.
  • key là tên của key các bạn muốn lấy ra trong dictionary.

VD: Mình sẽ lấy ra name và status của dictionary person trên.

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'single'        
    }
person['name'] # Vũ Thanh Tài

person['status'] # signle

3, Thay đổi giá trị của dictionary.

Để thay đổi giá trị của phần tử trong dictionary thì ta cũng là tương tự như đối với list là truy cập đến phần tử cần truy cập và thay đổi giá trị của nó.

VD: Mình sẽ đổi status thành married (an ủi mình tí :D).

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'alone'        
    }

person['status'] = 'married'
print(person)
#{'name': 'Vu Thanh Tài', 'age': 22, 'male': True, 'status': 'married'}

4, Xóa phần tử trong diction.

Để xóa một phần tử trong dictionary thì chúng ta sử dụng hàm del và chọn phần tử cần xóa.

VD:

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'alone'        
    }

del person['status']
print(person)
#{'name': 'Vu Thanh Tài', 'age': 22, 'male': True}

Và nếu như bạn muốn xóa tất cả các phần tử bên trong dictionary thì bạn sử dụng phương thức clear theo cú pháp:

dictName.clear();

Trong đó, dictName là dictionary mà bạn muốn xóa hết phần tử.

VD:

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'alone'        
    }

person.clear()
print(person)
#{}

Và nếu như bạn muốn xóa hẳn dictionary thì bạn dùng hàm del để xóa.

VD:

person = {
    'name': 'Vũ Thanh Tài',
    'age': 22,
    'male': True,
    'status': 'alone'        
    }

del person
print(person)
#error: name 'person' is not defined

5, Dictionary lồng nhau.

Cũng giống như kiểu dữ liệu list, tuple thì trong dicrtionary các bạn cũng có thể lồng bất kỳ kiểu dữ liệu nào bạn thích vào trong nó.

VD: Mình sẽ lồng một dictionary vào trong dictionary và đồng thời truy vấn luôn đến dictionary con.

person = {
    'name': 'Vũ Thanh Tài',
    'option': {
                'age': 22,
                'male': True,
                'status': 'alone'
            }        
    }

print(person['option']['age'])
# 22

6, Lời kết.

Về kiểu dữ liệu này nếu như bạn nào đã từng làm việc vớ Json rồi thì chắc cũng chẳn cần đọc nữa :D

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

14 Comments

Bạn có Một list về Python khá hay !

DNNET

7 năm trước

Bài này mình có dùng List đâu nhỉ?

Vũ Thanh Tài

7 năm trước

Xem cái trang này toàn thấy Show tên Nguyễn Thanh Tài, ai cũng vậy khi viết bài hay lấy đâu đó là quảng cáo cái tên mình cho thật rầm rộ!

Long

5 năm trước

Hay quá

Tuấn

5 năm trước

Chỉ có clear hay xóa 1 key thôi chứ không thấy thêm một key vào trong dic nhỉ.

Alvin

4 năm trước

Thêm được nha bạn

Bạn dùng dicName["Newkey"] = value

Thay Newkey và value bằng tên key mới và giá trị mới của bạn. Cái này cũng dùng để update value mới cho key đã có nha

ThanhTrungK15

4 năm trước

Chào anh,em coi bài này của anh em thực hành theo đến chỗ 'male': false thì nó tự động nhảy code này:
person = dict(name='Minh Trang', age=30, male=False, status='singer')
rồi em gõ code print(person) thì chạy ra như này: {'name': 'Minh Trang',

Minh Trang

3 năm trước

Xem cái trang này toàn thấy Show tên Nguyễn Thanh Tài, ai cũng vậy khi viết bài hay lấy đâu đó là quảng cáo cái tên mình cho thật rầm rộ!
Đề nghị thỉnh thoảng nói ít thôi!

Quang Hien

3 năm trước

imđi bớt xúc phạm người ta đi
đồ ngu

Lớn r đừng xúc phạm người khác bạn

Hoàng

3 năm trước

"Vũ" không phải "Nguyễn" copy từ phía trên xuống à

ngu vc

9 tháng trước

Họ vũ không phải nguyễn bạn ạ

invented

8 tháng trước

value có thể là một chuỗi đđược không ạ ??

tuan tran

2 năm trước

lớn rồi đừng xúc phạm người khác

Lê Minh Uy

1 năm trước

Bình luận

Captcha