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

Trả lời

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 *