Làm việc với dictionary lồng nhau
Một dictionary có thể chứa một dictionary khác làm giá trị của một key, và đây là cách rất phổ biến để xử lý các cấu trúc dữ liệu lặp lại như dữ liệu theo năm, tháng hoặc tuần. Tất cả các quy tắc khi tạo hoặc truy cập dictionary vẫn giữ nguyên.
Ví dụ, nếu bạn có một dictionary xếp hạng lượng bánh cookie tôi ăn theo năm và theo loại bánh. Nó có thể trông như cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}}. Tôi có thể truy cập số bánh chocolate chip tôi đã ăn trong năm 2016 bằng cookies['2016']['chocolate chip'].
Khi khám phá một dictionary mới, việc dùng phương thức .keys() có thể hữu ích để hình dung những dữ liệu nào có trong dictionary. Bạn cũng có thể lặp qua một dictionary và nó sẽ trả về từng key trong dictionary để bạn sử dụng bên trong vòng lặp.
Chúng tôi đã nạp một dictionary squirrels_by_park với tên công viên làm key và một dictionary lồng nhau chứa dữ liệu về một con 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
- In ra các key của dictionary
squirrels_by_park, LƯU Ý: Chúng làpark_names. - In ra các key của dictionary
squirrels_by_parkchopark_namelàUnion Square Park. - Lặp qua dictionary
squirrels_by_park.- Bên trong vòng lặp, in an toàn
park_namevàhighlights_in_fur_color. In'N/A'nếu không tìm thấy highlightsinfur_color hoặc giá trị là None.
- Bên trong vòng lặp, in an toàn
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.
# Print a list of keys from the squirrels_by_park dictionary
print(____)
# Print the keys from the squirrels_by_park dictionary for 'Union Square Park'
print(____)
# Loop over the dictionary
for park_name in squirrels_by_park:
# Safely print the park_name and the highlights_in_fur_color or 'N/A'
print(park_name, squirrels_by_park[____].____('____', '____'))