Khóa học python

Xoá phần tử của Dictionary trong Python

0 phút đọc

Python cung cấp nhiều phương thức để xoá phần tử khỏi dictionary, bao gồm del, pop(), popitem(), và clear(). Dưới đây là chi tiết về từng phương thức và cách sử dụng chúng.

Sử dụng từ khoá del

Từ khoá del được sử dụng để xoá một phần tử với key chỉ định hoặc xoá toàn bộ dictionary.

Xoá một phần tử

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
del my_dict['age']
print(my_dict)  # Output: {'name': 'John', 'city': 'New York'}

Xoá toàn bộ dictionary

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
del my_dict
# print(my_dict)  # Sẽ gây ra lỗi NameError vì my_dict đã bị xoá

Sử dụng hàm pop()

Hàm pop() xoá phần tử với key được chỉ định và trả về giá trị của phần tử đó. Nếu key không tồn tại, nó sẽ gây ra lỗi KeyError.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
age = my_dict.pop('age')
print(age)      # Output: 25
print(my_dict)  # Output: {'name': 'John', 'city': 'New York'}

Sử dụng hàm popitem()

Hàm popitem() xoá và trả về cặp key-value cuối cùng trong dictionary. Trong các phiên bản Python trước 3.7, một mục ngẫu nhiên được xoá.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
item = my_dict.popitem()
print(item)     # Output: ('city', 'New York')
print(my_dict)  # Output: {'name': 'John', 'age': 25}

Sử dụng hàm clear()

Hàm clear() xoá toàn bộ các phần tử trong dictionary, nhưng không xoá dictionary.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict)  # Output: {}

Các phương pháp khác để xoá phần tử

Sử dụng vòng lặp fordel

Bạn có thể sử dụng vòng lặp for kết hợp với từ khoá del để xoá nhiều phần tử dựa trên điều kiện.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York', 'country': 'USA'}
keys_to_remove = ['age', 'city']

for key in keys_to_remove:
    del my_dict[key]

print(my_dict)  # Output: {'name': 'John', 'country': 'USA'}

Sử dụng List Comprehension

Bạn có thể sử dụng list comprehension để tạo một dictionary mới mà không chứa các phần tử cần xoá.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York', 'country': 'USA'}
keys_to_remove = ['age', 'city']

new_dict = {k: v for k, v in my_dict.items() if k not in keys_to_remove}
print(new_dict)  # Output: {'name': 'John', 'country': 'USA'}

Xoá phần tử trong dictionary lồng nhau

Nếu bạn có một dictionary lồng nhau, bạn có thể sử dụng các phương pháp trên để xoá phần tử trong dictionary con.

python Copy
nested_dict = {
    'person1': {'name': 'John', 'age': 25},
    'person2': {'name': 'Jane', 'age': 30}
}

# Xoá phần tử 'age' trong dictionary con
for person in nested_dict.values():
    if 'age' in person:
        del person['age']

print(nested_dict)  # Output: {'person1': {'name': 'John'}, 'person2': {'name': 'Jane'}}

Xoá phần tử dựa trên điều kiện

Bạn có thể xoá các phần tử dựa trên một điều kiện cụ thể bằng cách sử dụng vòng lặp và từ khoá del.

python Copy
my_dict = {'name': 'John', 'age': 25, 'city': 'New York', 'country': 'USA'}

# Xoá các phần tử có giá trị là chuỗi
keys_to_remove = [key for key, value in my_dict.items() if isinstance(value, str)]

for key in keys_to_remove:
    del my_dict[key]

print(my_dict)  # Output: {'age': 25}

Các phương thức khác của Dictionary

Ngoài các phương thức xoá phần tử, dictionary trong Python còn cung cấp nhiều phương thức hữu ích khác như get(), keys(), values(), items(), update(), copy(), và fromkeys().

Phương thức get()

Phương thức get() trả về giá trị của key được chỉ định. Nếu key không tồn tại, nó trả về giá trị mặc định (None nếu không chỉ định giá trị mặc định).

python Copy
my_dict = {'name': 'John', 'age': 25}
print(my_dict.get('name'))  # Output: John
print(my_dict.get('city', 'Not Found'))  # Output: Not Found

Phương thức keys()

Phương thức keys() trả về một đối tượng view chứa tất cả các key trong dictionary.

python Copy
my_dict = {'name': 'John', 'age': 25}
print(my_dict.keys())  # Output: dict_keys(['name', 'age'])

Phương thức values()

Phương thức values() trả về một đối tượng view chứa tất cả các giá trị trong dictionary.

python Copy
my_dict = {'name': 'John', 'age': 25}
print(my_dict.values())  # Output: dict_values(['John', 25])

Phương thức items()

Phương thức items() trả về một đối tượng view chứa tất cả các cặp key-value trong dictionary dưới dạng tuple.

python Copy
my_dict = {'name': 'John', 'age': 25}
print(my_dict.items())  # Output: dict_items([('name', 'John'), ('age', 25)])

Phương thức update()

Phương thức update() cập nhật dictionary với các cặp key-value từ một dictionary khác hoặc từ một iterable chứa các cặp key-value.

python Copy
my_dict = {'name': 'John', 'age': 25}
my_dict.update({'city': 'New York', 'age': 26})
print(my_dict)  # Output: {'name': 'John', 'age': 26, 'city': 'New York'}

Phương thức copy()

Phương thức copy() trả về một bản sao nông của dictionary.

python Copy
my_dict = {'name': 'John', 'age': 25}
copy_dict = my_dict.copy()
print(copy_dict)  # Output: {'name': 'John', 'age': 25}

Phương thức fromkeys()

Phương thức fromkeys() tạo một dictionary mới với các key từ một iterable và giá trị mặc định là None (hoặc giá trị được chỉ định).

python Copy
keys = ['name', 'age', 'city']
new_dict = dict.fromkeys(keys, 'Unknown')
print(new_dict)  # Output: {'name': 'Unknown', 'age': 'Unknown', 'city': 'Unknown'}

Kết luận

Dictionary là một cấu trúc dữ liệu mạnh mẽ và linh hoạt trong Python, cung cấp nhiều phương thức để quản lý và thao tác dữ liệu. Việc hiểu và sử dụng các phương thức xoá phần tử của dictionary sẽ giúp bạn làm việc hiệu quả hơn với loại dữ liệu này. Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan và chi tiết về cách xoá phần tử của dictionary trong Python.

Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào