2.1 Lấy số lượng phần tử
Trong Python, để lấy số lượng phần tử trong từ điển, chúng ta dùng
hàm len()
. Hàm này trả về số cặp
key-value trong từ điển. Hay là số lượng khóa, nếu bạn muốn.
Ví dụ sử dụng hàm:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # Kết quả: 3
Trong ví dụ này, chúng ta có từ điển person
với ba phần tử. Hàm
len(person)
trả về số lượng phần tử trong từ điển, mà
là 3.
Kiểm tra từ điển rỗng
Bạn có thể sử dụng hàm len()
để kiểm tra từ điển rỗng. Điều này rất hữu ích trong các điều kiện và vòng lặp.
empty_dict = {}
print(len(empty_dict)) # Kết quả: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("Từ điển không rỗng")
else:
print("Từ điển rỗng")
Từ điển với cấu trúc lồng nhau
Hàm len()
chỉ tính
số lượng khóa trên cấp đầu tiên, bất kể có gì bên trong giá trị.
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # Kết quả: 3
Trong ví dụ này, chúng ta có từ điển với các cấu trúc dữ liệu lồng nhau.
len(complex_dict)
trả về 3 vì có
ba khóa trên cấp đầu tiên: "name",
"details" và "hobbies".
len()
bỏ qua các khóa bên trong cấu trúc dữ liệu lồng nhau,
như "age" và "city"
bên trong từ điển "details", vì
len()
chỉ đếm các khóa trên cấp đầu tiên. Nếu bạn cần đếm số lượng tất cả các phần tử,
bao gồm các cấu trúc lồng nhau, bạn cần sử dụng phương pháp đệ quy. Nhưng không phải hôm nay đâu.
2.2 Xác định kiểu
Hàm type()
trong Python được sử dụng để
xác định kiểu của đối tượng. Khi làm việc với từ điển,
type()
cho phép xác định rằng đối tượng là một phiên bản
của lớp dict
. Điều này có thể hữu ích trong nhiều tình huống, ví dụ như
kiểm tra kiểu dữ liệu trước khi thực hiện các thao tác trên từ điển.
Ví dụ sử dụng:
Kiểm tra kiểu đối tượng
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # Kết quả: <class 'dict'>
Trong ví dụ này, chúng ta tạo ra một từ điển person
và sử dụng
type
để xác định kiểu của nó. Hàm trả về <class
'dict'>
, cho biết person
là một từ điển.
Kiểm tra điều kiện kiểu dữ liệu
Hàm type()
có thể được sử dụng để kiểm tra kiểu dữ liệu
trong các biểu thức điều kiện, cho phép thực hiện các thao tác cụ thể chỉ
áp dụng cho đối tượng kiểu dict
.
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("Đây là từ điển.")
else:
print("Đây không phải là từ điển.")
Trong ví dụ này, biểu thức điều kiện kiểm tra xem data
có phải là từ điển không và
thực hiện mã tương ứng.
Hàm type()
có thể được sử dụng bên trong các hàm tự tạo để
kiểm tra kiểu của các đối số, đảm bảo rằng hàm
xử lý đúng kiểu dữ liệu.
Ví dụ:
def process_data(data):
if type(data) is dict:
print("Xử lý từ điển...")
# Thực hiện các thao tác trên từ điển
else:
print("Lỗi: mong đợi từ điển.")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
Trong ví dụ này, hàm process_data
kiểm tra xem đối số data
có phải là từ điển không và thực hiện các thao tác tương ứng chỉ cho từ điển.
2.3 Lấy phần tử
Làm việc với các phần tử của từ điển giống như làm việc với danh sách hay bộ tuple — chúng ta cũng sẽ sử dụng dấu ngoặc vuông. Nhưng thay vì chỉ mục của phần tử, trong ngoặc vuông bạn cần chỉ định khóa. Khóa của từ điển có thể là bất kỳ phần tử bất biến nào: chuỗi, số hoặc, ví dụ, một tuple.
dictionary[key]
Ví dụ:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # Kết quả: Alice
Nếu khóa không tồn tại, sẽ xảy ra lỗi:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # sẽ xảy ra lỗi KeyError: 'country'
Phương thức get(key, def_value)
Phương thức get()
cho phép lấy giá trị theo khóa một cách an toàn.
Nếu khóa không tồn tại, phương thức trả về giá trị mặc định (None
, nếu
không chỉ định giá trị mặc định). Điều này ngăn ngừa lỗi
KeyError
.
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # Kết quả: 25
country = person.get("country", "USA")
print(country) # Kết quả: USA
Tham số thứ hai trong phương thức get()
có thể là giá trị cần
trả về nếu khóa cần tìm kiếm không có trong từ điển.
Phương thức setdefault()
hoạt động tương tự phương thức
get()
, nhưng nếu khóa không có trong từ điển, phương thức không chỉ trả về giá trị mặc định, mà còn thêm một cặp key: value
mới vào từ điển.
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # Kết quả: New York
print(person) # Kết quả: {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION