Hàm update hay phương thức update là một trong số các hàm được hỗ trợ sẵn của Kiểu dữ liệu Dictionary trong ngôn ngữ lập trình Python được sử dụng để cập nhật từ điển (dictionary) bằng cách thêm các cặp khóa-giá trị từ một từ điển khác hoặc các cặp giá trị khác nhau.
1. Cú pháp hàm update
Hàm update hay Python Dictionary update là một phương thức của đối tượng từ điển (dictionary) trong ngôn ngữ lập trình Python.
Điều này có nghĩa là nó được gọi trên một đối tượng từ điển cụ thể và thực hiện thao tác cập nhật trên đối tượng đó. Hàm update không phải là phương thức của một lớp (class).
Cú pháp
dictObj.update([other_dictionary] or [(key1, value1), (key2, value2), ...])
Tham số:
other_dictionary
(tùy chọn): Từ điển khác chứa các cặp khóa-giá trị mà muốn cập nhật vào từ điển ban đầu.key1, value1, key2, value2, ...
(tùy chọn): Các cặp khóa-giá trị mà muốn thêm vào từ điển.
Kiểu dữ liệu trả về:
- Không có, hàm
update()
cập nhật trực tiếp từ điển gọi nó.
Phiên bản Python hỗ trợ:
- Hàm
update()
đã được hỗ trợ trong Python từ phiên bản 2.0.
2. Một số ví dụ hàm update
2.1. Cập nhật từ điển bằng từ điển khác
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
# Cập nhật dict1 bằng cách thêm các cặp khóa-giá trị từ dict2
dict1.update(dict2)
print(dict1) # Kết quả: {'a': 1, 'b': 3, 'c': 4}
Giải thích:
- Hàm
update()
được sử dụng để cập nhậtdict1
bằng cách thêm hoặc cập nhật các cặp khóa-giá trị từdict2
. Nếu khóa đã tồn tại, giá trị sẽ được cập nhật; nếu không, cặp khóa-giá trị mới sẽ được thêm vào.
2.2. Cập nhật từ điển bằng danh sách các cặp khóa-giá trị
my_dict = {'a': 1, 'b': 2}
# Sử dụng danh sách các cặp khóa-giá trị
items_to_add = [('c', 3), ('d', 4)]
my_dict.update(items_to_add)
print(my_dict) # Kết quả: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
Giải thích:
- Hàm
update()
được sử dụng để thêm hoặc cập nhật các cặp khóa-giá trị từ danh sáchitems_to_add
.
2.3. Cập nhật từ điển bằng zip của các khóa và giá trị
keys = ['a', 'b', 'c']
values = [1, 2, 3]
# Sử dụng zip(keys, values) để tạo danh sách các cặp khóa-giá trị
my_dict = {}
my_dict.update(zip(keys, values))
print(my_dict) # Kết quả: {'a': 1, 'b': 2, 'c': 3}
Giải thích:
- Hàm
update()
được sử dụng để thêm hoặc cập nhật các cặp khóa-giá trị từzip(keys, values)
, nơikeys
là danh sách các khóa vàvalues
là danh sách các giá trị.
2.4. Cập nhật từ điển bằng **kwargs (keyword arguments)
my_dict = {'a': 1, 'b': 2}
# Sử dụng **kwargs (keyword arguments)
my_dict.update(e=5, f=6)
print(my_dict) # Kết quả: {'a': 1, 'b': 2, 'e': 5, 'f': 6}
Giải thích:
- Hàm
update()
được sử dụng để thêm hoặc cập nhật các cặp khóa-giá trị bằng cách truyền chúng như **kwargs (keyword arguments). Cặp khóa-giá trị được truyền dưới dạngkey=value
.
2.5. Kết hợp nhiều hàm của từ điển
def complex_update(my_dict, key, value):
# Kiểm tra khóa có tồn tại hay không, nếu tồn tại, loại bỏ và lấy giá trị
old_value = my_dict.pop(key, None)
if old_value is not None:
print(f"Loại bỏ khóa '{key}', giá trị cũ là {old_value}")
# Cập nhật từ điển với khóa mới và giá trị
my_dict.update({key: value})
print(f"Cập nhật từ điển với khóa '{key}' và giá trị {value}")
# Nếu khóa không tồn tại, thêm vào với giá trị mặc định là 0
my_dict.setdefault(key, 0)
# Hiển thị từ điển sau cập nhật
print("Từ điển sau cập nhật:")
print(my_dict)
# Tạo một từ điển ban đầu
my_dict = {'a': 1, 'b': 2, 'c': 3}
# Gọi hàm complex_update() để cập nhật từ điển
complex_update(my_dict, 'b', 5)
Giải thích:
- Trong ví dụ này, chúng ta tạo một hàm
complex_update()
để thực hiện một loạt các hoạt động trên từ điển. - Hàm
complex_update()
nhận một từ điển (my_dict
), một khóa (key
) và một giá trị (value
) làm tham số. - Trong hàm này, chúng ta sử dụng hàm
pop()
để kiểm tra xem khóa có tồn tại hay không. Nếu tồn tại, ta loại bỏ và lấy giá trị cũ. - Tiếp theo, ta cập nhật từ điển với khóa mới và giá trị bằng hàm
update()
. - Sau đó, nếu khóa không tồn tại, ta thêm nó với giá trị mặc định là 0 bằng hàm
setdefault()
. - Cuối cùng, chúng ta hiển thị từ điển sau cập nhật.