3. Giới thiệu về dictionary trong python

Một trong những thứ mình rất thích ở Python đó là list, dictionary, tupe và set. Các kiểu dữ liệu này rất quan trọng và được sử dụng xuyên suốt trong các ứng dụng của các bạn sau này. List, dict và tuple, set dùng để chứa các dữ liệu. Ta có thể thêm vào hoặc bớt đi cho 3 kiểu set, dict và list, nhưng tuple không thể thêm vào sau khi khai báo nó.

Khái niệm về dictionary

Dictionary là một trong những kiểu dữ liệu dựng sẵn trong Python, là kiểu dữ liệu key – value

Cách khai báo dictionary

Python 3.6.4 (default, Jan  5 2018, 02:35:40) 
[GCC 7.2.1 20171224] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> student = {"hoten": "Nguyễn Văn A", "tuoi": 35}
>>> student
{'hoten': 'Nguyễn Văn A', 'tuoi': 35}
>>> student["hoten"]
'Nguyễn Văn A'
>>> student["tuoi"]
35
>>> student["Nguyễn Văn A"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Nguyễn Văn A'
>>> student.get("Nguyễn Văn A", "Giá trị mặc định")
'Giá trị mặc định'
  1. Đây là cách khai báo một dictionary với 2 phần tử là hoten và tuoi. Mỗi phần tử có 1 cặp key – value được đặt trong {}
  2. hoten là key của phần tử trong student, giá trị của student[“hoten”] là Nguyễn Văn A
  3. tuoi là key của phần tử trong student, giá trị của student[“tuoi”] là 35
  4. Bạn có thể lấy value bằng key nhưng không thể lấy key từ value được, value của student[“hoten”] là Nguyễn Văn A nhưng student[“Nguyễn Văn A”] sẽ tạo ra một exception báo lỗi
  5. Bạn không thể lấy value nếu không khai báo key trong dict nhưng bạn có thể gán giá trị mặc định bằng cách dùng get

Chỉnh sửa, thêm phần tử mới vào dictionary

D = {"hoten": "Nguyễn Văn A", "tuoi": 35}

print(d)

d["hoten"] = "Nguyễn Văn B" #1

print(d)

d["nghenghiep"] = "Grabber" #2

print(d)
Traceback (most recent call last):
  File "main.py", line 3, in <module>
    print(d)
NameError: name 'd' is not defined
  1. Bạn không thể khai báo 2 keys giống nhau. Nếu bạn khai báo 1 value mới cho key đã có trước thì value cũ sẽ bị thay thế bằng value mới.
  2. Bạn có thể thêm cặp key – value mới bất cứ lúc nào.

Một điều cần lưu ý là Python phân biệt viết hoa và thường cho key

Python 3.6.4 (default, Jan  5 2018, 02:35:40) 
[GCC 7.2.1 20171224] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = {"key": 123, "Key": 123}
>>> a
{'key': 123, 'Key': 123}

Các kiểu dữ liệu dùng trong dictionary

>>> d
{'ten': 'Nguyễn Văn A', 'tuoi': 35}
>>> d[32] = "Tin học" #1
>>> d
{'ten': 'Nguyễn Văn A', 'tuoi': 35, 32: 'Tin học'}
>>> d["totngiep"] = 2017 #2
>>> d
{'ten': 'Nguyễn Văn A', 'tuoi': 35, 32: 'Tin học', 'totngiep': 2017}
  1. Bạn có thể dùng kiểu dữ liệu string, interger cho key
  2. Với value thì có thể dùng các kiểu string, integer, object hoặc lồng 1 dictionary khác vào trong. Trong cùng 1 dictionary, bạn có thể kết hợp nhiều loại kiểu dữ liệu với nhau.

Xóa phần tử trong dictionary

>>> d
{'ten': 'Nguyễn Văn A', 'tuoi': 35, 32: 'Tin học', 'totngiep': '2017'}
>>> del d[32] #1
>>> d
{'ten': 'Nguyễn Văn A', 'tuoi': 35, 'totngiep': '2017'}
>>> d.clear() #2
>>> d
{}
  1. del xóa xóa 1 phần tử được chỉ định trong dictionary
  2. clear dùng để xóa toàn bộ các phần tử trong dictionary
Tin cùng chuyên mục