Tạo Dictionary
Bạn có thể tạo một dictionary bằng cách sử dụng cặp dấu ngoặc nhọn {}
hoặc hàm dict()
.
python
# Tạo dictionary bằng cặp dấu ngoặc nhọn
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict) # Output: {'name': 'John', 'age': 25, 'city': 'New York'}
# Tạo dictionary bằng hàm dict()
another_dict = dict(name='Jane', age=30, city='Los Angeles')
print(another_dict) # Output: {'name': 'Jane', 'age': 30, 'city': 'Los Angeles'}
Truy cập phần tử trong Dictionary
Bạn có thể truy cập các phần tử trong dictionary bằng cách sử dụng key.
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict['name']) # Output: John
print(my_dict['age']) # Output: 25
print(my_dict['city']) # Output: New York
Các phương thức của Dictionary
Python cung cấp nhiều phương thức để làm việc với dictionary, bao gồm add()
, remove()
, pop()
, clear()
, update()
, và nhiều phương thức khác. Dưới đây là chi tiết về từng phương thức và cách sử dụng chúng.
1. Phương thức clear()
Phương thức clear()
xóa tất cả các phần tử khỏi dictionary.
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict) # Output: {}
2. Phương thức copy()
Phương thức copy()
trả về một bản sao nông của dictionary.
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
copy_dict = my_dict.copy()
print(copy_dict) # Output: {'name': 'John', 'age': 25, 'city': 'New York'}
3. 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
keys = ['name', 'age', 'city']
new_dict = dict.fromkeys(keys, 'Unknown')
print(new_dict) # Output: {'name': 'Unknown', 'age': 'Unknown', 'city': 'Unknown'}
4. 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
my_dict = {'name': 'John', 'age': 25}
print(my_dict.get('name')) # Output: John
print(my_dict.get('city', 'Not Found')) # Output: Not Found
5. 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
my_dict = {'name': 'John', 'age': 25}
print(my_dict.items()) # Output: dict_items([('name', 'John'), ('age', 25)])
6. 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
my_dict = {'name': 'John', 'age': 25}
print(my_dict.keys()) # Output: dict_keys(['name', 'age'])
7. Phương thức pop()
Phương thức pop()
xóa 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
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'}
8. Phương thức popitem()
Phương thức popitem()
xóa 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 xóa.
python
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}
9. Phương thức setdefault()
Phương thức setdefault()
trả về giá trị của key được chỉ định. Nếu key không tồn tại, nó sẽ thêm key với giá trị mặc định được chỉ định.
python
my_dict = {'name': 'John', 'age': 25}
city = my_dict.setdefault('city', 'New York')
print(city) # Output: New York
print(my_dict) # Output: {'name': 'John', 'age': 25, 'city': 'New York'}
10. 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
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'}
11. 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
my_dict = {'name': 'John', 'age': 25}
print(my_dict.values()) # Output: dict_values(['John', 25])
Duyệt qua các phần tử trong Dictionary
Bạn có thể sử dụng vòng lặp for
để duyệt qua các phần tử trong dictionary.
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for key, value in my_dict.items():
print(f"{key}: {value}")
# Output:
# name: John
# age: 25
# city: New York
Sử dụng Dictionary Comprehension
Dictionary comprehension là một cách ngắn gọn và hiệu quả để tạo dictionary mới từ dictionary hiện có.
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
new_dict = {k: v for k, v in my_dict.items() if k != 'age'}
print(new_dict) # Output: {'name': 'John', 'city': 'New York'}
Xoá phần tử trong Dictionary
Python cung cấp nhiều phương thức để xoá phần tử khỏi dictionary, bao gồm del
, pop()
, và clear()
.
Sử dụng từ khoá del
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
del my_dict['age']
print(my_dict) # Output: {'name': 'John', 'city': 'New York'}
Sử dụng hàm pop()
python
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 clear()
python
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict) # Output: {}
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
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
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}
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 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ác hàm và phương thức của dictionary trong Python.