Trong thế giới lập trình, dict là một kiểu dữ liệu then chốt trong Python, giúp lưu trữ và truy xuất thông tin một cách nhanh chóng. Nhờ vào tính linh hoạt và hiệu suất cao, dict được ứng dụng rộng rãi trong nhiều ngữ cảnh khác nhau. Bài viết hôm nay từ Mytour sẽ giúp bạn hiểu rõ dictionary trong Python là gì, với lối diễn giải đơn giản và dễ tiếp cận.
Khái niệm về kiểu dữ liệu dict trong Python
Trong Python, dict là kiểu dữ liệu dùng để lưu trữ thông tin dưới dạng các cặp khóa - giá trị, cho phép truy xuất dữ liệu nhanh và hiệu quả. Mỗi phần tử trong dict bao gồm một khóa duy nhất để định danh và một giá trị đi kèm.

Đây là kiểu dữ liệu cực kỳ hữu ích khi cần tổ chức thông tin có mối liên hệ giữa tên và giá trị, chẳng hạn như dữ liệu sinh viên, danh sách sản phẩm hay cấu hình hệ thống. Các khóa trong dict bắt buộc là kiểu dữ liệu bất biến, trong khi giá trị có thể thuộc bất kỳ kiểu nào. Với tính năng truy xuất nhanh, dễ thao tác và linh hoạt, dictionary là một trong những kiểu dữ liệu phổ biến nhất trong Python.
Mytour đang cung cấp nhiều mẫu laptop cấu hình mạnh, lý tưởng cho nhu cầu lập trình Python của bạn. Hãy đến cửa hàng Mytour để chọn cho mình một chiếc máy phù hợp với mục tiêu học tập và làm việc!
4 phương pháp khởi tạo phần tử trong Dict của Python
Để sử dụng dict hiệu quả, bạn cần nắm rõ cách khởi tạo các phần tử bên trong. Dưới đây, Mytour sẽ giới thiệu 4 cách phổ biến nhất để tạo phần tử trong dictionary của Python.
Khởi tạo bằng dấu ngoặc nhọn {} và thêm giá trị vào bên trong
Một trong những cách dễ hiểu và trực quan nhất để khởi tạo dictionary trong Python là sử dụng cặp dấu ngoặc nhọn {}. Mỗi phần tử được viết theo cú pháp “key: value”, trong đó khóa và giá trị được phân tách bằng dấu hai chấm, còn các cặp khóa – giá trị sẽ ngăn cách nhau bằng dấu phẩy.

Ví dụ minh họa:
{'brand': 'Toyota', 'year': 2020}
Sử dụng kỹ thuật Dict Comprehension trong Python
Dict Comprehension là một cách tiếp cận hiện đại trong Python giúp tạo dictionary mới nhanh chóng bằng cách lặp qua các phần tử. Thay vì viết từng cặp khóa – giá trị thủ công, bạn có thể áp dụng cú pháp ngắn gọn để sinh ra toàn bộ dict. Cấu trúc chung của Dict Comprehension như sau:
{key_expression: value_expression for item in iterable}
Ví dụ minh họa cách dùng Dict Comprehension trong Python
Khởi tạo bằng constructor Dict
Trong Python, bạn có thể khởi tạo dict bằng hàm dựng sẵn dict() với ba cách phổ biến. Cách đầu tiên là tạo một dict rỗng bằng cú pháp đơn giản dict(), rất thuận tiện khi bạn cần bắt đầu với một từ điển chưa có dữ liệu. Ví dụ minh họa:
{}
Phương pháp tiếp theo là tạo dict từ một iterable chứa các cặp khóa – giá trị. Điều quan trọng là mỗi phần tử trong iterable phải là một cặp gồm hai thành phần đại diện cho key và value. Bạn có thể sử dụng các kiểu như List, Tuple hoặc các cấu trúc tương tự để giữ các cặp này. Gợi ý dễ hình dung như sau:

Phương pháp cuối cùng là sử dụng keyword arguments để khởi tạo dict, tức là truyền trực tiếp các cặp khóa – giá trị như tham số khi gọi constructor. Dưới đây là một ví dụ minh họa để bạn dễ hình dung cách áp dụng:
Sử dụng phương thức fromkeys trong Python
Phương thức fromkeys là một giải pháp nhanh để tạo dictionary mới trong Python, với các khóa được lấy từ một iterable. Cú pháp của phương thức là dict.fromkeys(iterable, value), trong đó iterable là danh sách các khóa, còn value là giá trị chung được gán cho toàn bộ các khóa. Ví dụ minh họa cho cách dùng như sau:
Những thao tác cơ bản với kiểu dữ liệu Dictionary
Việc hiểu rõ dict trong Python là gì sẽ giúp bạn quản lý và xử lý dữ liệu hiệu quả hơn. Tuy nhiên, để vận dụng linh hoạt kiểu dữ liệu này, bạn cần nắm vững một số thao tác cơ bản dưới đây với dictionary trong Python.
Truy xuất giá trị từ Dict bằng khóa
Trong Python, để lấy giá trị từ dictionary, bạn chỉ cần sử dụng khóa tương ứng. Mỗi phần tử trong dictionary gồm một cặp key-value, vì thế khi bạn cung cấp key, Python sẽ trả lại giá trị liên kết với key đó.

Bạn có thể truy xuất giá trị bằng cú pháp dict_name[key], nhưng nếu key không tồn tại sẽ gây lỗi. Để an toàn hơn, nên sử dụng phương thức get() với cú pháp dict_name.get(key, default_value), giúp trả về giá trị mặc định khi khóa không có trong dictionary.
Ví dụ minh họa:
student = {'name': 'Linh', 'age': 21, 'major': 'IT'}
print(student['name']) # Kết quả: Linh
print(student['major']) # Kết quả: IT
Thay đổi giá trị trong Dictionary
Khi làm việc với dictionary trong Python, cập nhật giá trị là thao tác rất phổ biến. Bạn chỉ cần sử dụng cú pháp “dict[key] = new_value” để thay đổi nội dung tương ứng với một khóa. Nếu khóa đã có sẵn, giá trị cũ sẽ được thay thế; nếu chưa có, một cặp khóa – giá trị mới sẽ được thêm vào.

Ví dụ dưới đây sẽ minh họa cách thay đổi giá trị trong dictionary bằng cú pháp “dict[key] = new_value”:
Khởi tạo dictionary ban đầu: student = {'name': 'Huy', 'age': 20, 'major': 'Math'}
Thêm phần tử mới vào Dictionary
Một phương pháp đơn giản để mở rộng dict trong Python là thêm phần tử mới bằng cách sử dụng cú pháp “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 cặp key–value này vào dictionary.
Ví dụ: my_dict = {"name": "Đức", "age": 25}
# Thêm phần tử mới
my_dict["city"] = "HCMC"
print(my_dict) # Output: {'name': 'Đức', 'age': 25, 'city': 'HCMC'}
Các phương thức thường dùng của Dict trong Python
Khi làm việc với kiểu dữ liệu dictionary trong Python, việc thành thạo các thao tác cơ bản vẫn chưa đủ. Để tận dụng tối đa tiềm năng của dict, bạn cần hiểu rõ những phương thức mà Python cung cấp riêng cho kiểu dữ liệu này. Dưới đây là một số cú pháp phổ biến khi thao tác với dictionary.
Copy()
Phương thức copy() trong Python giúp tạo ra bản sao của dictionary gốc. Khi gọi hàm này, Python sẽ trả về một dictionary mới có nội dung giống dictionary ban đầu, nhưng là một đối tượng riêng biệt trong bộ nhớ. Phương thức không nhận đối số và rất hữu ích khi bạn cần sao chép dữ liệu để thao tác mà không ảnh hưởng đến nguồn dữ liệu gốc.

Ví dụ minh họa:
original = {'name': 'Linh', 'age': 28}
duplicate = original.copy()
print(original) # Output: {'name': 'Linh', 'age': 28}
print(duplicate) # Output: {'name': 'Linh', 'age': 28}
Clear()
Phương thức này cho phép bạn xóa toàn bộ các cặp khóa – giá trị trong dictionary một cách nhanh chóng, trả về một dictionary trống. Clear() không nhận tham số và cũng không trả về giá trị nào, rất hữu ích khi bạn cần làm mới dữ liệu trong dict về trạng thái ban đầu.
Ví dụ minh họa:
d = {'fruit': 'apple', 'color': 'red'}
d.clear()
print(d)
Get()
Thay vì truy cập trực tiếp bằng cú pháp dict[key] – có thể gây lỗi KeyError nếu khóa không tồn tại – thì get() cho phép bạn thiết lập một giá trị mặc định để trả về. Cú pháp: “dict.get(key[, value])”, trong đó key là khóa cần tìm và value là giá trị mặc định (có thể bỏ qua).
Ví dụ minh họa:
person = {'name': 'Linh', 'age': 30}
print('Name:', person.get('name'))
print('Age:', person.get('age'))
print('Salary:', person.get('salary'))
print('Salary:', person.get('salary', 1000))
Items()
Hàm items() trong Python giúp bạn lấy ra toàn bộ các cặp khóa và giá trị hiện có trong một dictionary. Đây là công cụ hữu ích để bạn có thể xử lý hoặc kiểm tra từng cặp dữ liệu riêng biệt. Hàm này không cần tham số và trả về một đối tượng đặc biệt chứa các cặp khóa – giá trị dưới dạng tuple.

Ví dụ minh họa cách sử dụng hàm items():
sales = { 'banana': 5, 'mango': 8, 'pear': 6 }
print(sales.items())
Keys()
Trong dictionary của Python, keys() giúp bạn lấy về một tập hợp các khóa hiện có dưới dạng view. Đặc biệt, view này sẽ tự động cập nhật mỗi khi dictionary có sự thay đổi. Hàm keys() không cần tham số và rất thích hợp khi bạn chỉ muốn làm việc với phần khóa mà không cần quan tâm đến giá trị đi kèm.
Ví dụ:
person = {'name': 'An', 'age': 25}
print('Trạng thái trước khi cập nhật:')
keys = person.keys()
print(keys)
person.update({'salary': 4000})
print('Trạng thái sau khi cập nhật:')
print(keys)
Values()
Hàm values() trong Python cho phép bạn truy xuất toàn bộ giá trị có trong dictionary dưới dạng một đối tượng view. Không cần truyền tham số, hàm này cực kỳ hữu ích khi bạn chỉ muốn xử lý phần giá trị mà không cần xét tới khóa.

Sau đây là ví dụ minh họa cụ thể:
sales = {'banana': 5, 'mango': 8, 'pear': 6}
values = sales.values()
print('Các giá trị ban đầu:', values)
del sales['banana']
print('Các giá trị sau khi xoá:', values)
Pop()
Hàm pop() trong Python cho phép loại bỏ một phần tử khỏi dictionary dựa trên khóa được chỉ định và đồng thời trả về giá trị tương ứng. Nếu khóa tồn tại, phần tử sẽ bị xóa và giá trị của nó được trả lại; ngược lại, nếu không có giá trị mặc định và khóa không có trong dictionary, hàm sẽ gây ra lỗi KeyError.

Ví dụ minh họa:
inventory = {'pen': 10, 'notebook': 5, 'eraser': 3}
removed_item = inventory.pop('marker', 'không tìm thấy')
print(removed_item)
print(inventory)
Popitem()
Hàm popitem() trong Python cho phép bạn loại bỏ và thu về cặp khóa – giá trị cuối cùng được thêm vào dictionary mà không cần biết trước tên khóa. Sau thao tác này, dictionary sẽ được cập nhật ngay lập tức.
Ví dụ:
person = {'name': 'Linh', 'age': 30, 'salary': 5000.0}
removed = person.popitem()
print(removed)
print(person)
person['job'] = 'Designer'
removed = person.popitem()
print(removed)
print(person)
Setdefault()
Công cụ này giúp bạn lấy giá trị tương ứng với một khóa trong dictionary nếu nó đã tồn tại. Nếu không, phương thức sẽ tự động thêm khóa đó vào với một giá trị mặc định do bạn cung cấp, hoặc là None nếu không khai báo gì thêm. Đây là cách tiện lợi để đảm bảo một khóa luôn tồn tại trong dict mà không cần kiểm tra hay chèn tay thủ công.

Ví dụ đơn giản dưới đây sẽ giúp bạn hình dung rõ hơn:
person = {'name': 'Linh'}
city = person.setdefault('city')
print(person)
print(city)
age = person.setdefault('age', 30)
print(person)
print(age)
Update()
Phương thức update() trong Python được dùng để thêm mới hoặc điều chỉnh các phần tử có trong dictionary hiện tại thông qua dữ liệu từ một dictionary khác. Nếu khóa đã có, giá trị sẽ được cập nhật; nếu chưa, cặp khóa–giá trị mới sẽ được thêm vào. Hàm này chấp nhận đầu vào là một dictionary hoặc iterable, sử dụng cú pháp dict.update([other]) để tiến hành cập nhật.
Ví dụ:
d = {'a': 100, 'b': 200}
d1 = {'b': 250}
d.update(d1)
print(d)
d1 = {'c': 300}
d.update(d1)
print(d)
Toán tử “|” dùng để hợp nhất hai Dict
Sử dụng toán tử này sẽ tạo ra một dictionary mới chứa tất cả các cặp khóa - giá trị từ hai dictionary ban đầu. Nếu có khóa trùng, giá trị bên phải sẽ thay thế giá trị bên trái.
Ví dụ minh họa cách sử dụng kiểu dữ liệu dict trong Python:
dict1 = {'x': 10, 'y': 20}
dict2 = {'y': 30, 'z': 40}
result = dict1 | dict2
print(result)
Những điều cần lưu ý khi sử dụng Dictionary trong Python
Khi thao tác với dictionary trong Python, bạn cần nhớ một số điểm quan trọng để sử dụng hiệu quả và tránh lỗi. Các khóa trong dictionary phải là kiểu dữ liệu bất biến và không được trùng lặp trong cùng một cấu trúc.

Khi truy xuất hoặc thay đổi giá trị trong dictionary, bạn cần thao tác một cách thận trọng để tránh gây lỗi hoặc làm sai lệch dữ liệu. Thêm vào đó, khi sao chép hay hợp nhất các dictionary, việc hiểu rõ cách hoạt động của các hàm liên quan sẽ giúp bạn xử lý dữ liệu chính xác hơn.
Bài viết đã cung cấp cho bạn những kiến thức chi tiết và toàn diện về kiểu dữ liệu dict trong Python. Mong rằng những thông tin từ Mytour sẽ giúp bạn tự tin hơn khi áp dụng dictionary vào thực tế. Hãy tiếp tục luyện tập và khám phá thêm nhiều tính năng nâng cao để khai thác tối đa tiềm năng của dictionary.
