Bài 7 – Kiểu dữ liệu từ điển (dict) trong ngôn ngữ lập trình Python

Lập trình Python
Lập trình Python

1. Tìm hiểu kiểu dữ liệu từ điển (dict)

– Kiểu từ điển là một dạng kiểu dữ liệu không tuần tự có cấu trúc dạng cặp <khóa>: <giá trị>

– Cấu trúc của kiểu dữ liệu từ điển như sau:

    {<khóa 1>:<giá trị 1>, <khóa 2>:<giá trị 2>,…,<khóa n>:<giá trị n>}

Trong đó:

+ Phần <khóa> có thể là kiểu dữ liệu xâu, số, tuple nhưng không được là list

+ Phần <giá trị> có thể là kiểu dữ liệu bất kỳ như: số, xâu, tuple, list, từ điển hay tập hợp

Ví dụ:

#1 Tạo biến d kiểu từ điển (rỗng)
d = {}

#2 Tạo biến d kiểu từ điển (rỗng)
d = dict()

#3 Tạo biến hs kiểu từ điển gồm 3 phần tử
hs = {“tên”:”Nguyễn Tiến Duy”, “giới tính” : “Nam”, “năm sinh” : 1989}

Khi đó: hs[“tên”] = “Nguyễn Tiến Duy”

hs[“giới tính”] = “Nam” và hs[“năm sinh”] = 1989

2. Thao tác với kiểu dữ liệu từ điển

– Tham chiếu đến từng phần tử: <tên biến>[<khóa>] trả về <giá trị> tương ứng với <khóa>

– Để biết được tất cả các <khóa> của biến từ điển ta dùng lệnh:

# Cách 1: 
for  <biến duyệt> in  <biến kiểu từ điển>:
      print(<biến duyệt>,end=“ “)

# Cách 2:
for <biến duyệt>  in <biến kiểu từ điển>.keys():
      print(<biến duyệt>,end=“ “)

– Để biết được tất cả các value của biến từ điển ta dùng lệnh:

for  <biến duyệt> in  <biến kiểu từ điển>.values():
      print(<biến duyệt>,end=“ “)

– Để biết được tất cả keyvalue của biến từ điển ta dùng lệnh:

for  <key>,<value> in  <biến kiểu từ điển>.items():
      print(<key>,<value>)

– Để cập nhật thông tin cho dữ liệu từ điển T1 từ từ điển T2, ta sử dụng lệnh: T1.update(T2)   

Trong đó:

+ T2 là kiểu dữ liệu từ điển có giá trị khóa giống hoặc là một tập hợp con của khóa trên từ điển T1

+ Câu lệnh trên giống câu lệnh sau:

for  <khóa> in  T2: T1[<khóa>] = T2[<khóa>]

– Để truy cập đến giá trị của dữ liệu từ điển ta có thể sử dụng hàm get như sau:

  <biến kiểu từ điển>.get(<khóa> [,<mặc định>])

Trong đó:

+ Nếu <khóa> nhập đúng thì hàm sẽ trả lại đúng giá trị của từ điển tương ứng.

+ Nếu <khóa> không đúng (không có) thì hàm sẽ trả về giá trị <mặc định>

+ Hàm get sẽ hữu ích hơn cách truy cập từng phần tử của từ điển dạng <biến kiểu từ điển>[<khóa>] trong trường hợp key không tồn tại trong <biến kiểu từ điển>.

– Xóa khóa và dữ liệu của từ điển:

+ Xóa khóa:  del <biến kiểu từ điển>[<khóa>]

+ Xóa dữ liệu của từ điển: <biến kiểu từ điển>.clear()

Ví dụ: Viết chương trình nhập vào một xâu bất kỳ, xuất ra màn hình số lần lặp của các từ đơn trong xâu vừa nhập.

Chương trình:

s = input(“Mời nhập vào xâu bất kỳ: “)
A = s.split()
#Tách các từ riêng lẻ (cách nhau bởi dấu cách) thành mảng kiểu xâu
dic = {}	#Tạo biến kiểu từ điển rỗng
for w in A:	#Duyệt qua từng phần tử của mảng A
    dic[w] = dic.get(w,0) + 1
    #Nếu có khóa w thì tăng 1 đơn vị, không có thì thêm vào
for key in dic: print(key, dic[key])	#Xuất ra màn hình các từ với số lần lặp

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *