Xử lý kiểu dữ liệu hỗn hợp lồng nhau
Trước đây, chúng ta dùng biểu thức in để kiểm tra dữ liệu có nằm trong một dictionary hay không, ví dụ if 'cookies' in recipes_dict. Tuy nhiên, nếu bạn muốn tìm dữ liệu trong một key của dictionary mà bản thân key đó lại là một danh sách các dictionary thì sao? Trong trường hợp đó, bạn có thể dùng vòng lặp for để duyệt qua các phần tử trong danh sách lồng nhau và thao tác trên chúng. Ngoài ra, bạn có thể tận dụng list comprehension để lọc hiệu quả các danh sách lồng nhau gồm các dictionary. Ví dụ: [cookie for cookie in recipes["cookies"] if "chocolate chip" in cookie["name"]] sẽ trả về một danh sách các cookie trong danh sách recipes có cụm từ "chocolate chip" trong key name của cookie.
Chúng tôi đã nạp một dictionary squirrels_by_park với tên công viên làm key và giá trị là một danh sách các dictionary mô tả sóc.
Bài tập này là một phần của khóa học
Các kiểu dữ liệu trong Python
Hướng dẫn bài tập
- Dùng vòng lặp for để lặp qua các con sóc nằm trong key
Tompkins Square Parkcủasquirrels_by_park:- In an toàn mỗi hoạt động (activities) của từng con sóc.
- In danh sách các con sóc có
primary_fur_colorlà'Cinnamon'tìm thấy ởUnion Square Parkbằng list comprehension.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Use a for loop to iterate over the squirrels in Tompkins Square Park:
for squirrel in ____["____"]:
# Safely print the activities of each squirrel or None
print(____.____("____"))
# Print the list of 'Cinnamon' primary_fur_color squirrels in Union Square Park
print([squirrel for squirrel in ____["____"] if "____" ____ ____["____"]])