:quality(75)/dict_trong_python_0_67aa45185b.jpg)
Dict trong Python: Hướng dẫn sử dụng, các phương thức quan trọng và ví dụ chi tiết
Dict trong Python là cấu trúc dữ liệu giúp lưu trữ thông tin dưới dạng cặp khóa và giá trị, cho phép truy xuất nhanh và quản lý dữ liệu hiệu quả. Với tính linh hoạt và dễ sử dụng, đây là kiểu dữ liệu quan trọng trong lập trình. Trong bài viết này, hãy cùng FPT Shop khám phá về Dict trong Python!
Dict trong Python là cấu trúc dữ liệu mạnh mẽ giúp lưu trữ thông tin dưới dạng các cặp khóa và giá trị, hỗ trợ truy xuất nhanh và quản lý dữ liệu hiệu quả. Nhờ tính linh hoạt cùng khả năng xử lý vượt trội, nó được ứng dụng rộng rãi trong lập trình và phân tích dữ liệu. Hãy cùng FPT Shop khám phá chi tiết về kiểu dữ liệu này!
Kiểu dữ liệu dict trong Python là gì?
Trong Python, dict (viết tắt của dictionary) là một kiểu dữ liệu cho phép lưu trữ thông tin dưới dạng các cặp khóa và giá trị. Mỗi khóa trong dict là duy nhất và được sử dụng để truy xuất nhanh đến giá trị tương ứng. Nhờ đó, dict trở thành một công cụ cực kỳ hiệu quả khi làm việc với dữ liệu có mối quan hệ rõ ràng giữa tên và giá trị.
Kiểu dữ liệu này đặc biệt hữu ích trong việc quản lý thông tin như danh sách sinh viên, sản phẩm hoặc cấu hình hệ thống. Các khóa thường là kiểu dữ liệu bất biến như chuỗi hoặc số, trong khi giá trị có thể thuộc bất kỳ kiểu nào. Với tốc độ truy xuất nhanh và tính linh hoạt cao, dict là một trong những cấu trúc dữ liệu được sử dụng phổ biến nhất trong Python.

4 cách khởi tạo phần tử của dict trong Python
Để làm việc hiệu quả với kiểu dữ liệu dict, người lập trình cần nắm rõ cách tạo và thêm phần tử vào cấu trúc này. Dưới đây, FPT Shop sẽ giới thiệu bốn phương pháp phổ biến nhất để khởi tạo phần tử của dict trong Python.
Sử dụng cặp dấu ngoặc {} và đặt giá trị bên trong
Một trong những cách khởi tạo dictionary trong Python đơn giản và trực quan nhất là sử dụng cặp dấu ngoặc nhọn {}. Bên trong, mỗi phần tử được biểu diễn dưới dạng “key: value”, trong đó key và value được ngăn cách bằng dấu hai chấm, còn các cặp khóa và giá trị khác nhau được phân tách bằng dấu phẩy. Cách này thường được dùng khi bạn muốn tạo nhanh một dict cố định ngay từ đầu.
Ví dụ minh họa:

Dùng phương thức Dict Comprehension trong Python
Dict Comprehension trong Python là một kỹ thuật giúp bạn tạo dictionary mới một cách nhanh chóng và gọn gàng thông qua việc lặp qua các phần tử có sẵn. Thay vì phải khai báo thủ công từng cặp khóa và giá trị, bạn có thể sử dụng cú pháp đặc biệt để sinh ra dict chỉ trong một dòng mã. Cách viết này không chỉ tiết kiệm thời gian mà còn giúp mã ngắn gọn và dễ đọc hơn.
Cú pháp chung: {key_expression: value_expression for item in iterable}
Ví dụ minh họa:

Sử dụng constructor Dict
Kiểu dữ liệu dict trong Python có thể được khởi tạo bằng hàm tạo dict() theo nhiều cách linh hoạt tùy theo nhu cầu sử dụng. Cách đơn giản nhất là tạo một dictionary rỗng để bắt đầu với cấu trúc trống và thêm phần tử sau này khi cần:
student = dict()
print(student)
Kết quả: {}
Ngoài ra, bạn có thể khởi tạo dictionary từ một iterable chứa các cặp khóa - giá trị, chẳng hạn như danh sách các tuple. Mỗi phần tử trong iterable phải gồm hai giá trị tương ứng với khóa (key) và giá trị (value):
iter_ = [('name', 'Minh'), ('age', 25), ('country', 'Vietnam')]
info = dict(iter_)
print(info)
Kết quả: {'name': 'Minh', 'age': 25, 'country': 'Vietnam'}

Cuối cùng, nếu bạn đã biết trước các khóa cần sử dụng, có thể truyền trực tiếp chúng dưới dạng keyword arguments khi gọi hàm dict(). Cách này giúp khởi tạo nhanh và rõ ràng hơn khi khai báo dữ liệu tĩnh:
car = dict(brand='Toyota', model='Corolla', year=2024)
print(car)
Kết quả: {'brand': 'Toyota', 'model': 'Corolla', 'year': 2024}
Áp dụng phương thức fromkeys
Phương thức fromkeys() trong Python là một cách nhanh chóng để tạo dictionary khi bạn muốn khởi tạo nhiều khóa cùng chia sẻ một giá trị mặc định. Cú pháp của phương thức này là: dict.fromkeys(iterable, value), trong đó iterable là tập hợp chứa các khóa, còn value là giá trị được gán cho tất cả các khóa đó.
Ví dụ minh họa:

Hướng dẫn một số thao tác cơ bản với Dictionary
Việc hiểu rõ dict trong Python là gì chỉ là bước khởi đầu trong quá trình làm chủ ngôn ngữ này. Để khai thác tối đa sức mạnh của kiểu dữ liệu dictionary, bạn cần nắm vững các thao tác cơ bản giúp truy xuất, thêm, sửa và xóa dữ liệu một cách linh hoạt. Dưới đây là những thao tác phổ biến và dễ áp dụng nhất khi làm việc với dictionary trong Python.
Lấy value trong dict bằng key
Trong Python, để lấy giá trị (value) trong dictionary, bạn cần truy cập thông qua khóa (key) tương ứng. Mỗi phần tử trong dict là một cặp key - value, vì vậy khi bạn gọi tên khóa, Python sẽ trả về giá trị được gắn với khóa đó.
Cách đơn giản nhất là dùng cú pháp dict_name[key]. Tuy nhiên, nếu khóa không tồn tại, chương trình sẽ báo lỗi KeyError. Để tránh lỗi này, bạn nên dùng phương thức get(), giúp trả về giá trị mặc định khi khóa không tồn tại.
Ví dụ minh họa:

Cập nhật giá trị trong dict
Trong quá trình làm việc với dictionary trong Python, việc cập nhật giá trị của một khóa là thao tác rất phổ biến. Bạn có thể thay đổi giá trị của một khóa cụ thể bằng cú pháp dict[key] = new_value. Nếu khóa đã tồn tại, giá trị cũ sẽ được thay thế bằng giá trị mới; ngược lại, nếu khóa chưa có trong dict, Python sẽ tự động thêm cặp key - value mới vào.
Ví dụ minh họa:

Thêm một phần tử mới vào dict
Một cách đơn giản để thêm phần tử mới vào dictionary trong Python là gán trực tiếp một cặp key - value cho biến dict. Cú pháp là dict[key] = value, trong đó key là khóa mới và value là giá trị tương ứng. Nếu khóa chưa tồn tại, Python sẽ tự động thêm phần tử mới vào dictionary; còn nếu đã tồn tại, giá trị cũ sẽ bị ghi đè.
Ví dụ minh họa:
employee = {"name": "Lan", "position": "Nhân viên"}
employee["department"] = "Kế toán"
print(employee)
Kết quả: {'name': 'Lan', 'position': 'Nhân viên', 'department': 'Kế toán'}
Các phương thức phổ biến của dict trong Python
Khi làm việc với kiểu dữ liệu dictionary trong Python, việc nắm các thao tác cơ bản chỉ là bước khởi đầu. Để tận dụng tối đa sức mạnh của dict, bạn cần hiểu rõ các phương thức chuyên dụng mà Python hỗ trợ cho cấu trúc dữ liệu này. Ngay dưới đây là những cú pháp và phương thức phổ biến nhất giúp bạn thao tác với dictionary hiệu quả hơn.
Copy()
Phương thức copy() trong Python được dùng để tạo một bản sao độc lập của dictionary gốc. Khi sử dụng phương thức này, Python sẽ trả về một dictionary mới có cùng nội dung nhưng hoạt động tách biệt với bản gốc trong bộ nhớ. Điều này đặc biệt hữu ích khi bạn cần sao chép dữ liệu để thao tác mà không làm ảnh hưởng đến dữ liệu ban đầu.
Ví dụ minh họa:

Clear()
Phương thức clear() trong Python được sử dụng để xóa toàn bộ các cặp khóa - giá trị trong một dictionary, giúp đưa nó về trạng thái rỗng ban đầu. Hàm này không nhận tham số và cũng không trả về giá trị, rất hữu ích khi bạn muốn làm trống dữ liệu mà không cần tạo lại dictionary mới.
Ví dụ minh họa:
info = {'brand': 'Samsung', 'model': 'Galaxy S24', 'price': 1200}
info.clear()
print(info)
Get()
Phương thức get() trong Python giúp bạn truy xuất giá trị từ dictionary một cách an toàn. Thay vì dùng cú pháp dict[key] dễ gây lỗi KeyError nếu khóa không tồn tại thì get() cho phép chỉ định một giá trị mặc định để trả về khi không tìm thấy khóa. Cú pháp là dict.get(key[, value]), trong đó value là tham số tùy chọn.
Ví dụ minh họa:
car = {'brand': 'Toyota', 'year': 2022}
print('Brand:', car.get('brand'))
print('Year:', car.get('year'))
print('Color:', car.get('color'))
print('Color (default):', car.get('color', 'white'))
Items()
Phương thức items() trong Python giúp bạn truy xuất toàn bộ các cặp khóa và giá trị trong dictionary một cách thuận tiện. Đây là công cụ rất hữu ích khi bạn muốn duyệt, kiểm tra hoặc xử lý dữ liệu theo từng cặp riêng biệt. Hàm này không nhận tham số và trả về một đối tượng dạng dict_items, trong đó mỗi phần tử là một tuple chứa cặp khóa - giá trị tương ứng.
Ví dụ minh họa:
grades = {'Alice': 9.0, 'Bob': 8.5, 'Charlie': 9.3}
print(grades.items())
Keys()
Phương thức keys() trong Python giúp bạn lấy toàn bộ danh sách các khóa hiện có trong dictionary. Kết quả trả về là một đối tượng dạng view, phản ánh trạng thái hiện tại của dictionary và sẽ tự động cập nhật khi dữ liệu thay đổi. Hàm này không nhận tham số nào, rất hữu ích khi bạn chỉ muốn thao tác với phần khóa mà không cần quan tâm đến giá trị đi kèm.
Ví dụ minh họa:

Values()
Phương thức values() trong Python cho phép bạn truy xuất toàn bộ các giá trị có trong dictionary dưới dạng một đối tượng view. Đối tượng này phản ánh trạng thái hiện tại của dictionary, nghĩa là khi dữ liệu thay đổi, view cũng sẽ tự động cập nhật. Hàm này không nhận tham số, rất tiện lợi khi bạn chỉ cần thao tác với các giá trị mà không quan tâm đến khóa tương ứng.
Ví dụ minh họa:
inventory = {'pen': 120, 'notebook': 80, 'eraser': 50}
values = inventory.values()
print('Giá trị ban đầu:', values)
inventory['ruler'] = 30
print('Giá trị sau khi thêm:', values)
Pop()
Phương thức pop() trong Python giúp bạn xóa một phần tử khỏi dictionary đồng thời trả về giá trị tương ứng với khóa được chỉ định. Nếu khóa tồn tại, phần tử đó sẽ bị loại bỏ; ngược lại, nếu không tìm thấy khóa và bạn không cung cấp giá trị mặc định, Python sẽ báo lỗi KeyError. Vì vậy, việc thêm giá trị mặc định là cách an toàn để tránh lỗi trong quá trình xử lý dữ liệu.
Ví dụ minh họa:
products = {'apple': 15, 'banana': 20, 'orange': 12}
removed = products.pop('banana', 'không tìm thấy')
print(removed)
print(products)
Popitem()
Phương thức popitem() trong Python được sử dụng để xóa và trả về cặp khóa - giá trị cuối cùng được thêm vào dictionary. Đây là một cách thuận tiện khi bạn muốn thao tác với phần tử mới nhất mà không cần biết trước khóa của nó. Sau khi thực hiện, dictionary sẽ được cập nhật, loại bỏ phần tử vừa bị xóa.
Ví dụ minh họa:
employee = {'name': 'Huy', 'age': 28, 'position': 'Developer'}
removed = employee.popitem()
print('Phần tử bị xóa:', removed)
print('Dict sau khi xóa:', employee)
employee['salary'] = 1500
removed = employee.popitem()
print('Phần tử bị xóa tiếp theo:', removed)
print('Dict còn lại:', employee)
Setdefault()
Phương thức setdefault() trong Python cho phép bạn lấy giá trị của một khóa nếu nó tồn tại, hoặc tự động thêm khóa đó vào dictionary với một giá trị mặc định nếu chưa có. Nếu bạn không truyền giá trị mặc định, Python sẽ tự động gán None. Đây là một cách tiện lợi để đảm bảo mọi khóa cần thiết luôn tồn tại mà không cần kiểm tra thủ công.
Ví dụ minh họa:

Update()
Phương thức update() trong Python được dùng để thêm mới hoặc cập nhật giá trị của các phần tử trong dictionary hiện có dựa trên dữ liệu từ một dictionary hoặc iterable khác. Khi khóa trùng nhau, giá trị sẽ được ghi đè; còn nếu khóa chưa tồn tại, Python sẽ tự động thêm cặp khóa - giá trị mới. Đây là phương thức hữu ích khi bạn muốn hợp nhất hoặc mở rộng dữ liệu.
Ví dụ minh họa:
info = {'name': 'Huy', 'age': 25}
extra = {'age': 30, 'city': 'Hà Nội'}
info.update(extra)
print('Sau khi cập nhật:', info)
new_data = {'job': 'Designer'}
info.update(new_data)
print('Sau khi thêm mới:', info)
Toán tử “|” để kết hợp hai Dict
Toán tử “|” trong Python được sử dụng để kết hợp hai dictionary lại với nhau một cách nhanh chóng và rõ ràng. Kết quả trả về là một dictionary mới bao gồm tất cả các cặp khóa - giá trị từ hai dictionary ban đầu, giúp bạn dễ dàng gộp dữ liệu mà không cần thao tác thủ công. Nếu có các khóa trùng nhau, giá trị của dictionary bên phải sẽ ghi đè lên giá trị tương ứng của dictionary bên trái.
Ví dụ minh họa:
dict1 = {'x': 10, 'y': 20}
dict2 = {'y': 30, 'z': 40}
merged_dict = dict1 | dict2
print(merged_dict)
Kết quả: {'x': 10, 'y': 30, 'z': 40}
Lưu ý khi sử dụng dictionary trong Python
Khi làm việc với dictionary trong Python, bạn cần lưu ý một số điểm quan trọng để sử dụng hiệu quả và tránh lỗi thường gặp. Mỗi khóa trong dictionary phải là kiểu dữ liệu bất biến (như chuỗi, số hoặc tuple) và phải duy nhất trong cùng một cấu trúc dữ liệu, nếu không sẽ bị ghi đè giá trị cũ.
Ngoài ra, khi truy cập hoặc cập nhật giá trị, bạn nên kiểm tra khóa trước để tránh lỗi KeyError không mong muốn. Việc sao chép hoặc gộp các dictionary cũng cần được thực hiện cẩn thận, vì một số phương thức sẽ tạo bản sao mới, trong khi các phương thức khác có thể thay đổi trực tiếp dữ liệu gốc. Do đó, việc hiểu rõ cơ chế hoạt động sẽ giúp bạn quản lý dữ liệu an toàn và hiệu quả hơn.

Tạm kết
Trong bài viết hôm nay, FPT Shop đã mang đến cho bạn cái nhìn toàn diện về kiểu dữ liệu dict trong Python, từ khái niệm, cách khởi tạo cho đến các phương thức và thao tác phổ biến nhất. Qua những ví dụ minh họa thực tế, bạn có thể dễ dàng áp dụng vào công việc và học tập để làm chủ dạng dữ liệu linh hoạt này. Hãy tiếp tục theo dõi FPT Shop để khám phá thêm nhiều kiến thức lập trình bổ ích khác nhé!
FPT Shop hiện có nhiều mẫu laptop sở hữu hiệu năng mạnh mẽ, tối ưu cho việc lập trình và học Python. Hãy truy cập ngay FPT Shop để chọn cho mình chiếc máy tính phù hợp, giúp bạn chinh phục mọi dự án lập trình dễ dàng và hiệu quả hơn nhé!
Xem thêm:
:quality(75)/estore-v2/img/fptshop-logo.png)