Bài 27. KIỂU DỮ LIỆU DICTIONARY (P1: GIỚI THIỆU, KHỞI TẠO DICT)

Kiểu dữ liệu Dict trong Python P1

I. Giới Thiệu về Kiểu dữ liệu Dict

Về cơ bản, kiểu dữ liệu Dictionary (hay còn gọi là Dict) cũng dùng để lưu trữ giữ liệu như List, Tuple , tuy nhiên không được sử dụng nhiều như 2 kiểu dữ liệu kể trên.  
+ Dict được biểu diễn bằng các cặp chìa khoá – giá trị (keyvalue), phân tách nhau bằng dấu phẩy (,), và nằm trong dấu ngoặc nhọn { }
Dict = { key1 : value1, key2 : value2, …., key n : value n }
+ Bản thân các cặp keyvalue được phân tách bằng dấu hai chấm (:) như minh hoạ ở trên.
+ Các key trong Dictduy nhất, không trùng lặp. Trong khi value thì có thể trùng lặp.

II. Khởi tạo Dict

  Có nhiều cách thức khác nhau để khởi tạo một Dict, bao gồm:
+ Cách 1: Đặt các giá trị vào bên trong dấu ngoặc kép (xem ví dụ 1)
Cú pháp:
Dict = { key1 : value1, key2 : value2, …., key n : value n }

+ Cách 2:
Sử dụng  Dict Comprehension(xem ví dụ 2)
Cú pháp:
{key:value for key,value in iterable} 

+ Cách 3:
Sử dụng constructor Dict
 (xem ví dụ 3-6)
Các cú pháp:       
dict
(iterable)
dict(mapping)
dict(**kwargs)
dict.fromkeys(iterable,value)

CÁC VÍ DỤ

Ví dụ 1 (Đặt giá trị bên trong dấu ngoặc nhọn):
Các câu lệnh:

# Khởi tạo 1 dict rỗng
dict1 = {}
print(dict1)
#in ra dict1
print(type(dict1)) #kiểm tra type của dict1
# Khởi tạo dict 2
dict2 = {1:”we”, 2:”are”, 3:”pyan”}
print(dict2) # In ra dict 2
print(type(dict2)) # kiểm tra type dict 2 

 Kết quả trả ra:
{}
<class ‘dict’>
{1: ‘we’, 2: ‘are’, 3: ‘pyan’}
<class ‘dict’>

Ví dụ 2 (Sử dụng dict comprehension):
Các câu lệnh:

# Giá hàng hoá bằng đồng dollar
old_price = {‘milk’: 1.02, ‘coffee’: 2.5, ‘bread’: 2.5}
#Hệ số quy đổi dollar về euro
dollar_to_euro = 0.84 
#Giá hàng hoá quy đổi từ dollar sang euro
new_price = {item: value*dollar_to_euro for (item, value) in old_price.items()}
#Hàm items trong Dict trả về tất cả cặp key-value trong dict đó.
print(type(new_price)) #kiểm tra type của new price
print(new_price) #in ra new_price
 

 Kết quả trả ra:
<class ‘dict’>
{‘milk’: 0.8568, ‘coffee’: 2.1, ‘bread’: 2.1}

Ví dụ 3 (Sử dụng dict(iterable)):
Các câu lệnh:

# Khởi tạo 1 dict rỗng
dict1 =  dict()
print(dict1) # In ra dict 1
print(type(dict1)) # kiểm tra type dict 1
# Khởi tạo 1 list gồm các phần tử là các cặp value đi cùng nhau
list2 = [(1,”we”),(2,”are”),(3,”pyan”)]
#Khởi tạo 1 dict từ list gồm các cặp value trên
dict2 = dict(list2)

print(dict2) #In ra dict 2
print(type(dict2)) # kiểm tra type dict 2

 Kết quả trả ra:
{}
<class ‘dict’>
{1: ‘we’, 2: ‘are’, 3: ‘pyan’}
<class ‘dict’>

Ví dụ 4 (Sử dụng dict(mapping)):
Ghi chú: Nội dung này tương đối phức tạp ở thời điểm này của chuỗi bài học, do đó chúng ta tạm bỏ qua

Ví dụ 5 (Sử dụng dict(**kwargs)):
Các câu lệnh:

# Khởi tạo các biến
k1 = “we”
k2 = “are”
k3 = “pyan”
#Khởi tạo dict 1
dict1 = dict(k1=1,k2=2,k3=3)
print(dict1) # In ra dict 1
print(type(dict1)) # kiểm tra type dict 1
print(k1) #in biến k1
print(k2) #in biến k2
print(k3) #in biến k3

 Kết quả trả ra:
{‘k1’: 1, ‘k2’: 2, ‘k3’: 3}
<class ‘dict’>
we
are
pyan
<class ‘dict’>

Trong cách khởi tạo này, các biến được tạo ra và được đưa vào trong dict và được dict lưu trữ giá trị.

Ví dụ 6 (Sử dụng fromkeys):
Các câu lệnh:

# Khởi tạo 1 tuple
tup1 = (“we”,”are”)
#Khởi tạo dict_none
dict_none = dict.fromkeys(tup1)

print(dict_none) # In ra dict none
print(type(dict_none)) # kiểm tra type dict none

 Kết quả trả ra:
{‘we’: None, ‘are’: None}
<class ‘dict’>

Phương thức này sẽ trả ra các giá trị value là None.

III. Kết Luận

Như vậy, chúng tôi đã giới thiệu tới các bạn các khái niệm cơ bản của Kiểu dữ liệu Dict trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giú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 *