- Sản phẩm & Dịch vụSản phẩm & Dịch vụ
- Giải phápGiải pháp
- Bảng giáBảng giá
- Công tyCông ty
- Tài liệuTài liệu
vi
vi
Chuyên mục với các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.
Technical Writer
I have over 5 years of experience writing technical documentation for tech products, making them accessible and user-friendly. My focus is always on providing clear and precise information. @#@ Tôi đã có hơn 5 năm kinh nghiệm viết tài liệu kỹ thuật cho các sản phẩm công nghệ, giúp người dùng dễ dàng tiếp cận và sử dụng. Tôi luôn tập trung vào việc cung cấp thông tin chính xác và dễ hiểu.
Thảo luận (0)
Đăng nhập để thảo luận
Dictionary là một kiểu dữ liệu tích hợp của Python. Nó là một chuỗi các cặp key-value (khóa-giá trị), trong đó mỗi key là duy nhất và ánh xạ tới một value. Dictionary là các đối tượng mutable (có thể thay đổi được), nghĩa là bạn có thể thay đổi nội dung của chúng mà không làm thay đổi danh tính của chúng.

Tuy nhiên, các key của dictionary là immutable (bất biến) và phải là duy nhất trong mỗi dictionary. Điều này giúp dictionary rất hiệu quả cho việc tra cứu, chèn và xóa.
Dictionary trong Python được sử dụng rộng rãi cho nhiều ứng dụng khác nhau như đếm số lần xuất hiện, nhóm dữ liệu và lưu trữ cấu hình. Mặc dù rất đa năng, nhưng không có phương thức add tích hợp nào cho dictionaries. Thay vào đó, có một số cách để thêm và cập nhật một dictionary, mỗi cách có mục đích và lợi thế riêng.
Trong bài viết này, bạn sẽ tìm hiểu các phương pháp khác nhau để thêm và cập nhật các Python dictionary. Bạn sẽ học cách sử dụng toán tử gán Python (=), phương thức update(), và các toán tử merge và update của dictionary. Cuối cùng, bạn sẽ có một hiểu biết vững chắc về cách quản lý và thao tác với dictionaries một cách hiệu quả trong các chương trình Python của mình.
=)update()|)|=)=Bạn có thể sử dụng toán tử gán = để thêm một key mới vào một dictionary:
dict[key] = value
Nếu một key đã tồn tại trong dictionary, thì toán tử gán sẽ cập nhật, hay ghi đè giá trị của nó.
Ví dụ sau minh họa cách tạo một dictionary mới và sau đó sử dụng toán tử gán = để cập nhật một value và thêm các cặp key-value:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)
Kết quả là:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
Đầu ra cho thấy value của ‘a’ bị ghi đè bởi value mới, value của ‘b’ không thay đổi, và các cặp key-value mới được thêm vào cho ‘c’ và ‘d’.
Sử dụng toán tử gán = sẽ ghi đè các value của các key hiện có bằng các value mới. Nếu bạn biết rằng chương trình của mình có thể có các key trùng lặp, nhưng bạn không muốn ghi đè các value gốc, thì bạn có thể thêm các value một cách có điều kiện bằng cách sử dụng một câu lệnh if.
Tiếp tục với ví dụ từ phần trước, bạn có thể sử dụng các câu lệnh if để chỉ thêm các cặp key-value mới vào dictionary:
dict_example = {'a': 1, 'b': 2}
print("original dictionary: ", dict_example)
dict_example['a'] = 100 # existing key, overwrite
dict_example['c'] = 3 # new key, add
dict_example['d'] = 4 # new key, add
print("updated dictionary: ", dict_example)
add the following if statements
if 'c' not in dict_example.keys():dict_example['c'] = 300if 'e' not in dict_example.keys():dict_example['e'] = 5print("conditionally updated dictionary: ", dict_example)
Đầu ra là:
Output
original dictionary: {'a': 1, 'b': 2}
updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4}
conditionally updated dictionary: {'a': 100, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
Đầu ra cho thấy, vì có điều kiện if, value của ‘c’ đã thay đổi khi dictionary được cập nhật một cách có điều kiện.
update()Bạn có thể nối một dictionary hoặc một iterable (một đối tượng lặp, ví dụ: một list các tuple) của các cặp key-value vào một dictionary bằng cách sử dụng phương thức update(). Phương thức update() ghi đè các value của các key hiện có bằng các value mới.
Ví dụ sau minh họa cách tạo một dictionary mới, sử dụng phương thức update() để thêm một cặp key-value mới và một dictionary mới, và in ra từng kết quả:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary'}
print("original dictionary: ", site)
update the dictionary with the author key-value pair
site.update({'Author':'Sammy Shark'})print("updated with Author: ", site)
create a new dictionary
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
update the original dictionary with the new dictionary
site.update(guests)print("updated with new dictionary: ", site)
Đầu ra là:
Output
original dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary'}
updated with Author: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark'}
updated with new dictionary: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy Shark', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
Đầu ra cho thấy lần cập nhật đầu tiên thêm một cặp key-value mới và lần cập nhật thứ hai thêm các cặp key-value từ dictionary guest vào dictionary site. Lưu ý rằng nếu bản cập nhật của bạn cho một dictionary bao gồm một key hiện có, thì value cũ sẽ bị ghi đè bởi bản cập nhật.
|Bạn có thể sử dụng toán tử dictionary merge |, được biểu thị bằng ký tự gạch đứng (pipe character), để merge (hợp nhất) hai dictionaries và trả về một đối tượng dictionary mới.
Ví dụ sau minh họa cách tạo hai dictionaries và sử dụng toán tử merge để tạo một dictionary mới chứa các cặp key-value từ cả hai:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
new_site = site | guestsprint("site: ", site)
print("guests: ", guests)
print("new_site: ", new_site)
Kết quả là:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy'}
guests: {'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
new_site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
Hai dictionaries đã được merge thành một đối tượng dictionary mới chứa các cặp key-value từ cả hai dictionaries.
Nếu một key tồn tại trong cả hai dictionaries, thì value từ dictionary thứ hai, hay right operand (toán hạng bên phải), sẽ là value được chọn. Trong ví dụ mã sau, cả hai dictionaries đều có một key tên là b:
dict1 = {'a':'one', 'b':'two'}
dict2 = {'b':'letter two', 'c':'letter three'}
dict3 = dict1 | dict2print{"dict3: ", dict3}
Đầu ra là:
Output
dict3: {'a': 'one', 'b': 'letter two', 'c': 'letter three'}
Value của key b đã bị ghi đè bởi value từ right operand, dict2.
|=Bạn có thể sử dụng toán tử dictionary update |=, được biểu thị bằng ký tự gạch đứng và dấu bằng, để cập nhật một dictionary in-place với dictionary hoặc các value đã cho.
Giống như toán tử merge |, nếu một key tồn tại trong cả hai dictionaries, thì toán tử update |= sẽ lấy value từ right operand.
Ví dụ sau minh họa cách tạo hai dictionaries, sử dụng toán tử update để nối dictionary thứ hai vào dictionary thứ nhất, và sau đó in ra dictionary đã được cập nhật:
site = {'Website':'DigitalOcean', 'Tutorial':'How To Add to a Python Dictionary', 'Author':'Sammy'}
guests = {'Guest1':'Dino Sammy', 'Guest2':'Xray Sammy'}
site |= guestsprint("site: ", site)
Đầu ra là:
Output
site: {'Website': 'DigitalOcean', 'Tutorial': 'How To Add to a Python Dictionary', 'Author': 'Sammy', 'Guest1': 'Dino Sammy', 'Guest2': 'Xray Sammy'}
Trong ví dụ trên, bạn không cần tạo một đối tượng dictionary thứ ba, vì toán tử update sửa đổi đối tượng gốc. Đầu ra cho thấy dictionary guests đã được nối vào dictionary site ban đầu.
Trong bài viết này, bạn đã sử dụng các phương pháp khác nhau để thêm và cập nhật một Python dictionary. Bạn có thể tiếp tục học hỏi với nhiều hướng dẫn Python hơn nữa.
Ngoài ra, bạn có thể khám phá module collections, cung cấp các lựa chọn thay thế như defaultdict và Counter cho các thao tác dictionary nâng cao hơn. Để biết thêm thông tin, hãy tham khảo các hướng dẫn về Python Counter và Using the Collections Module in Python.
Để thêm một mục vào một dictionary, bạn sử dụng cú pháp:
dictionary[key] = value
Điều này sẽ thêm một cặp key-value mới vào dictionary. Nếu key đã tồn tại, value của nó sẽ được cập nhật.
Ví dụ:
my_dict = {"a": 1}
my_dict["b"] = 2
print(my_dict) # Output: {'a': 1, 'b': 2}
append (nối) vào một dictionary không?Bạn không thể sử dụng trực tiếp các phương thức như .append() cho dictionaries vì chúng được sử dụng cho lists. Tuy nhiên, bạn có thể thêm một cặp key-value bằng cách sử dụng dictionary[key] = value. Để append các value vào một list hiện có được lưu trữ trong một dictionary, bạn cần sửa đổi list.
my_dict = {"a": [1, 2]}
my_dict["a"].append(3)
print(my_dict) # Output: {'a': [1, 2, 3]}
Bạn có thể sử dụng phương thức .update() để thêm nhiều cặp key-value từ một dictionary khác hoặc một iterable của các cặp key-value.
my_dict = {"a": 1}
my_dict.update({"b": 2, "c": 3})
print(my_dict) # Output: {'a': 1, 'b': 2, 'c': 3}
Hoặc sử dụng một iterable:
my_dict.update([("d", 4), ("e", 5)])
print(my_dict) # Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
Bạn có thể bắt đầu với một dictionary trống {} và thêm các mục bằng cách sử dụng dictionary[key] = value.
my_dict = {}
my_dict["a"] = 1
print(my_dict) # Output: {'a': 1}
Bạn có thể sửa đổi một dictionary bằng cách cập nhật các cặp key-value hiện có của nó hoặc thêm các cặp mới.
my_dict = {"a": 1, "b": 2}
my_dict["a"] = 10 # Modify existing key
my_dict["c"] = 3 # Add a new key
print(my_dict) # Output: {'a': 10, 'b': 2, 'c': 3}
Nếu các value là số, bạn có thể cộng trực tiếp. Nếu các value là lists, bạn có thể append vào chúng.
Ví dụ với số:
my_dict = {"a": 1}
my_dict["a"] += 2
print(my_dict) # Output: {'a': 3}
Ví dụ với lists:
my_dict = {"a": [1]}
my_dict["a"].append(2)
print(my_dict) # Output: {'a': [1, 2]}
Trước khi thêm, bạn có thể kiểm tra xem key có tồn tại hay không bằng cách sử dụng:
my_dict = {"a": 1}
if "b" not in my_dict:
my_dict["b"] = 2
print(my_dict) # Output: {'a': 1, 'b': 2}
dict() trong Python là gì?dict() là một hàm tích hợp sẵn để tạo một dictionary mới. Bạn có thể tạo một dictionary trống hoặc khởi tạo nó với các cặp key-value.
my_dict = dict() # Empty dictionary
my_dict = dict(a=1, b=2) # With key-value pairs
print(my_dict) # Output: {'a': 1, 'b': 2}
Bạn có thể sử dụng hàm sum() nếu các value là số.
my_dict = {"a": 10, "b": 20, "c": 30}
total = sum(my_dict.values())
print(total) # Output: 60
Để tìm hiểu thêm về dictionaries trong Python, hãy tham khảo hướng dẫn về Understanding Dictionaries in Python.