VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test
Python cơ bản Câu Lệnh Điều Khiển

Các Kiểu Dữ Liệu Chuẩn

Number String List Set Tuple Dictionary Phân biệt List, Tuple, Set, Dict

Hàm Python Dict

Hàm len(dict) Hàm str(dict) Hàm type(variable) Phương thức dict.clear() Hàm dict.copy() Hàm fromkeys(seq,value1)/ fromkeys(seq) Hàm dict.get(key, default=None) Hàm dict.has-key(key) Hàm dict.items() Hàm dict.keys() Hàm dict.setdefault(key, default=None) Hàm dict.update(dict2) Hàm dict.values() Hàm dict()
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải
1 / 3
❮ ❯

Dictionary trong Python


Tuple trong Python
Date và Time trong Python

Kiểu dữ liệu Dictionary trong Python là một tập hợp các cặp key-value không có thứ tự, có thể thay đổi và lập chỉ mục (truy cập phần tử theo chỉ mục). Dictionary được khởi tạo với các dấu ngoặc nhọn {} và chúng có các khóa và giá trị (key-value). Mỗi cặp key-value được xem như là một item. Key mà đã truyền cho item đó phải là duy nhất, trong khi đó value có thể là bất kỳ kiểu giá trị nào. Key phải là một kiểu dữ liệu không thay đổi (immutable) như chuỗi, số hoặc tuple.

Key và value được phân biệt riêng rẽ bởi một dấu hai chấm (:). Các item phân biệt nhau bởi một dấu phảy (,). Các item khác nhau được bao quanh bên trong một cặp dấu ngoặc móc đơn tạo nên một Dictionary trong Python

Ví dụ:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
print(dictCar)

Kết quả:

{'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972}

Nội dung chính

  • Truy cập các item của Dictionary trong Python
  • Thay đổi giá trị của một Dictionary trong Python
  • Duyệt các item của Dictionary trong Python
  • Kiểm tra nếu key tồn tại
  • Độ dài của một Dictionary trong Python
  • Thêm các item vào Dictionary
  • Xóa item của Dictionary
    • Xóa item của Dictionary bằng hàm pop()
    • Xóa item của Dictionary bằng hàm popitem()
    • Xóa item của Dictionary bằng từ khóa del
    • Xóa item của Dictionary bằng hàm clear()
  • Copy Dictionary trong Python
  • Dictionary lồng nhau trong Python
  • Constructor dict() trong Python
  • Các hàm và phương thức đã được xây dựng sẵn cho Dictionary trong Python

Truy cập các item của Dictionary trong Python

Bạn có thể truy cập các item của Dictionary bằng cách sử dụng khóa của nó, bên trong dấu ngoặc vuông, ví dụ:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
print(dictCar["model"])

Kết quả:

Honda Civic

Ngoài ra bạn cũng có thể sử dụng hàm get() để truy cập item của Dictionary trong Python như trong ví dụ sau:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
print(dictCar.get("model"))

Kết quả:

Honda Civic


Thay đổi giá trị của một Dictionary trong Python

Bạn có thể thay đổi giá trị của một item cụ thể bằng khóa của nó:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dictCar["year"] = 2020
print(dictCar)

Kết quả:

{'brand': 'Honda', 'model': 'Honda Civic', 'year': 2020}

Duyệt các item của Dictionary trong Python

Bạn có thể duyệt qua một Dictionary bằng cách sử dụng vòng lặp for .

Khi duyệt một Dictionary bằng vòng lặp for, giá trị trả về là các khóa, khi đó bạn có thể dùng hàm get() để lấy giá trị của khóa.


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
for x in dictCar:
    print(x, ": ", dictCar.get(x))

Kết quả:

brand :  Honda
model :  Honda Civic
year :  1972

Bạn cũng có thể sử dụng hàm values() để trả về các giá trị của Dictionary:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
for x in dictCar.values():
    print(x)

Kết quả:

Honda
Honda Civic
1972


Kiểm tra nếu key tồn tại

Để xác định xem một khóa (key) được chỉ định có tồn tại trong từ điển hay không, hãy sử dụng từ khóa in :


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
if "model" in dictCar:
    print("Khoa \"model\" co ton tai.")
else:
    print("Khoa \"model\" khong ton tai.")

Kết quả:

Khoa "model" co ton tai.

Độ dài của một Dictionary trong Python

Để xác định có bao nhiêu item (cặp khóa-giá trị) trong Dictionary, hãy sử dụng hàm len().


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
print(len(dictCar))

Kết quả:

3


Thêm các item vào Dictionary

Thêm một item vào Dictionary được thực hiện bằng cách sử dụng khóa mới và gán giá trị cho nó:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dictCar["color"] = "yellow"
print(dictCar)

Kết quả:

{'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972, 'color': 'yellow'}

Xóa item của Dictionary

Có nhiều phương pháp để loại bỏ các item của một Dictionary.


Xóa item của Dictionary bằng hàm pop()

Hàm pop() xóa item với key được chỉ định:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dictCar.pop("model")
print(dictCar)

Kết quả:

{'brand': 'Honda', 'year': 1972}

Xóa item của Dictionary bằng hàm popitem()

Hàm popitem() xóa item cuối cùng (trong các phiên bản trước 3.7, một mục ngẫu nhiên được xóa).


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dictCar.popitem()
print(dictCar)

Kết quả:

{'brand': 'Honda', 'model': 'Honda Civic'}

Xóa item của Dictionary bằng từ khóa del

Lệnh del sẽ xóa item với key được chỉ định:


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
del dictCar["model"]
print(dictCar)

Kết quả:

{'brand': 'Honda', 'year': 1972}

Xóa item của Dictionary bằng hàm clear()

Hàm clear() xóa toàn bộ các item của Dictionary.


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dictCar.clear()
print(dictCar)

Kết quả:

{}


Copy Dictionary trong Python

Bạn không thể sao chép từ điển chỉ bằng cách gán dict2 = dict1, bởi vì: dict2 sẽ chỉ là một tham chiếu đến dict1 và những thay đổi được thực hiện dict1 cũng sẽ tự động được thực hiện dict2.

Có nhiều cách để tạo một bản sao, một trong các cách đó là sử dụng hàm copy() được xây dựng trong Dictionary.


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dict1 = dictCar # su dung toan tu =
dict2 = dictCar.copy() # su dung ham copy()
dictCar["color"] = "yellow" # thay doi dictCar
print("dict1: ", dict1)
print("dict2: ", dict2)

Kết quả:

dict1:  {'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972, 'color': 'yellow'}
dict2:  {'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972}

Một cách khác để tạo một bản sao là sử dụng hàm tích hợp sẵn dict()


dictCar = {
    "brand": "Honda",
    "model": "Honda Civic",
    "year": 1972
}
dict1 = dictCar  # su dung toan tu =
dict2 = dict(dictCar)  # su dung ham dict()
dictCar["color"] = "yellow"  # thay doi dictCar
print("dict1: ", dict1)
print("dict2: ", dict2)

Kết quả:

dict1:  {'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972, 'color': 'yellow'}
dict2:  {'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972}

Dictionary lồng nhau trong Python

Một Dictionary cũng có thể chứa nhiều Dictionary, điều này được gọi là từ điển lồng nhau.

Ví dụ: tạo một Dictionary chứa 3 Dictionary khác.


myfamily = {
  "child1" : {
    "name" : "Van",
    "birthday" : 2004
  },
  "child2" : {
    "name" : "Minh",
    "birthday" : 2007
  },
  "child3" : {
    "name" : "Phuc",
    "birthday" : 2011
  }
}
print(myfamily)

Kết quả:

{'child1': {'name': 'Van', 'birthday': 2004}, 'child2': {'name': 'Minh', 'birthday': 2007}, 'child3': {'name': 'Phuc', 'birthday': 2011}}

Với một khai báo khác rõ ràng, dể hiểu hơn, ví dụ trên tương đương với ví dụ sau:


child1 = {
  "name" : "Van",
  "birthday" : 2004
}
child2 = {
  "name" : "Minh",
  "birthday" : 2007
}
child3 = {
  "name" : "Phuc",
  "birthday" : 2011
}

myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

print(myfamily)

Kết quả:

{'child1': {'name': 'Van', 'birthday': 2004}, 'child2': {'name': 'Minh', 'birthday': 2007}, 'child3': {'name': 'Phuc', 'birthday': 2011}}


Constructor dict() trong Python

Cũng có thể sử dụng constructor dict() để tạo một Dictionary mới:


dictCar = dict(brand="Honda", model="Honda Civic", year=1972)
print(dictCar)

Kết quả:

{'brand': 'Honda', 'model': 'Honda Civic', 'year': 1972}

Các hàm và phương thức đã được xây dựng sẵn cho Dictionary trong Python

Python đã xây dựng sẵn các hàm sau để được sử dụng với Dictionary. Bạn có thể theo dõi ví dụ chi tiết về các hàm này ở phần dưới đây.

STTHàm và Miêu tả
1Hàm len(dict)
Độ dài của dict. Nó sẽ là số item trong Dictionary này
2Hàm str(dict)
Tạo ra một biểu diễn chuỗi có thể in được của một dict
3Hàm type(variable)
Trả về kiểu của biến đã truyền. Nếu biến đã truyền là Dictionary, thì nó sẽ trả về một kiểu Dictionary

Các phương thức đã được xây dựng sẵn cho Dictionary trong Python:

STTHàm và Miêu tả
1Hàm dict.clear()
Xóa tất cả phần tử của dict
2Hàm dict.copy()
Trả về bản sao của dict
3Hàm fromkeys(seq,value1)/ fromkeys(seq)
Được sử dụng để tạo một Dictionary mới từ dãy seq và value1. Trong đó dãy seq tạo nên các key và tất cả các key chia sẻ các giá trị từ value1. Trong trường hợp value1 không được cung cấp thì value của các key được thiết lập là None
4Hàm dict.get(key, default=None)
Trả về giá trị của key đã cho. Nếu key không có mặt thì phương thức này trả về None
5Hàm dict.has-key(key)
Trả về true nếu key là có mặt trong Dictionary, nếu không là false
6Hàm dict.items()
Trả về tất cả các cặp (key-value) của một Dictionary
7Hàm dict.keys()
Trả về tất cả các key của một Dictionary
8Hàm dict.setdefault(key, default=None)
Tương tự get(), nhưng sẽ thiết lập dict[key]=default nếu key là không tồn tại trong dict
9Hàm dict.update(dict2)
Được sử dụng để thêm các item của dictionary 2 vào Dictionary đầu tiên
10Hàm dict.values()
Trả về tất cả các value của một Dictionary

Tuple trong Python
Date và Time trong Python

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Vẽ tam giác Pascal trong PythonVẽ tam giác Floyd trong PythonVẽ tam giác đều trong PythonBài tập vòng lặp trong PythonBài tập quản lý sinh viên trong PythonBài tập Python có lời giảiVẽ tam giác vuông cân trong PythonCheck số nguyên tố trong PythonCách cài đặt Python (Thiết lập môi trường)Hướng dẫn lập trình Python với EclipseHướng dẫn lập trình Python với PyCharm Community EditionHướng dẫn lập trình Python với Visual Studio Code

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml