Bài trước bạn học cách “ra quyết định” và “lặp lại” — nhưng lặp lại TRÊN CÁI GÌ? Đây là lúc cần biết cách Python “cất” nhiều giá trị lại với nhau.
3 cách cất dữ liệu — chọn đúng loại cho đúng việc
Câu hỏi nên tự hỏi khi chọn cấu trúc: “Tôi cần lấy giá trị theo VỊ TRÍ (thứ 1, thứ 2…) hay theo TÊN (như ‘tuổi’, ‘tên’)?” — nếu theo vị trí, dùng list/tuple; nếu theo tên, dùng dict.
dict — nền tảng để hiểu DataFrame sau này
Thực tế, khi làm việc với pandas (bài sau), 1 DataFrame về bản chất giống như nhiều dict ghép lại — mỗi cột có 1 “tên” (giống khóa trong dict), và bạn lấy dữ liệu ra bằng tên cột, không cần nhớ nó là cột thứ mấy. Hiểu dict kỹ ở đây sẽ giúp học pandas nhanh hơn nhiều.
Xem thêm
Video này (tiếng Anh) thực hành chi tiết list/tuple/set — bổ sung cho phần dict vừa học ở trên.
- Bạn tạo được 1 list, 1 dict, 1 tuple đơn giản và lấy được giá trị ra từ mỗi loại.
- Bạn giải thích được vì sao tuple ‘không sửa được’ lại hữu ích trong 1 số trường hợp.
- Bạn thấy được điểm giống nhau giữa dict và cách 1 dòng dữ liệu (DataFrame) hoạt động.
Chọn cấu trúc dữ liệu không phải bài toán “đúng/sai” — mà là chọn công cụ phù hợp với cách bạn sẽ LẤY dữ liệu ra sau này (theo vị trí hay theo tên). Suy nghĩ trước 1 chút khi chọn cấu trúc sẽ giúp code sau này dễ đọc và ít lỗi hơn.
Câu hỏi thường gặp
Vì sao cần tuple nếu list đã làm được mọi thứ tuple làm được?
Tuple đảm bảo dữ liệu KHÔNG bị vô tình sửa đổi trong lúc code chạy — hữu ích khi bạn muốn chắc chắn 1 số giá trị (như tọa độ, cấu hình cố định) không đổi.
dict có giữ đúng thứ tự các phần tử đã thêm vào không?
Từ Python 3.7 trở đi, có — dict giữ đúng thứ tự thêm vào, khác với hiểu nhầm phổ biến rằng dict hoàn toàn không có thứ tự.
Có cấu trúc dữ liệu nào khác ngoài 3 loại này không?
Có (set — tập hợp không trùng lặp) nhưng ít dùng hơn trong phân tích dữ liệu cơ bản — 3 loại list/dict/tuple là đủ để bắt đầu.
