Sự khác nhau giữa mảng, tuple, dictionary và set trong Python
Hãy phân tích sự khác nhau giữa các kiểu dữ liệu mảng, tuple, dictionary, và set trong Python. Phân tích khi nào thì nên sử dụng, có thể kết hợp giữa chúng không?
Bài giải
-------------------- ######## --------------------
Mỗi kiểu dữ liệu trong Python có một công dụng khác nhau, vì vậy bạn phải thực sự am hiểu về cấu trúc lưu trữ của chúng, để từ đó có sự lựa chọn và kết hợp với nhau.
1. Kiểu mảng trong Python
Mảng là kiểu dữ liệu khá đặc biệt, nó dùng để lưu trữ danh sách gồm nhiều phần tử, mỗi phần tử được đánh dấu bằng chỉ mục có thứ tự và bắt đầu từ 0.
Ví dụ bạn cần lưu trữ danh sách các loại trái cây thì có thể sử dụng mảng như sau:
fruit = ["Táo", "Chanh", "Bưởi", "Nho"]
Để truy xuất các phần tử thì bạn sử dụng chỉ mục index, chúng bắt đầu từ 0.
Bài viết này được đăng tại [free tuts .net]
fruit[0] # Táo fruit[1] # Chanh fruit[2] # Bưởi fruit[3] # Nho
Xem thêm: Mảng trong Python
2. Kiểu Tuple trong Python
Tuple có cách hoạt động rất giống với mảng, sự khác biệt duy nhất là bạn không thể thay đổi dữ liệu cho các phần tử Tuple, trừ khi phần tử đó là một dictionary hoặc array.
fruit = {"Táo", "Chanh", "Bưởi", "Nho"}
Việc truy xuất các phần tử cũng giống như trong mảng:
fruit[0] # Táo fruit[1] # Chanh fruit[2] # Bưởi fruit[3] # Nho
Nhưng nếu bạn thay đổi giá trị cho một phần tử nào đó sẽ gặp lỗi ngay.
fruit[0] = "Mít"
Sẽ bị lỗi như sau:
Xem thêm: Tuple trong Python
3. Kiểu set trong Python
Kiểu set rất đặc biệt, nó là kiểu dữ liệu bất biến (không thay đổi), các phần tử không được trùng, vì vậy không được sử dụng mảng và dictionary để lưu trong set.
my_set = {1,2,3,4,3,2} print(my_set) # Output: {1, 2, 3, 4}
Ta thường dùng set để lưu những danh sách có tính duy nhất.
Xem thêm: Set trong Python
4. Kiểu dictionary trong Python
Dictionary và Array là hai kiểu dữ liệu thường dùng nhất trong Python khi làm việc với danh sách.
Nếu bạn đã từng học qua mảng kết hợp trong PHP hoặc Object trong Javascript thì Dictionary có cấu trúc tương tự như vây.
Mỗi phần tử sẽ được xác định bởi cặp key : value.
sinhvien = { "name" : "Cường", "age" : 32 }
Ta thường dùng Dictionary để lưu trữ những dữ liệu có cấu trúc.
Xem thêm: Dictionary trong Python
Câu hỏi thường gặp liên quan:
- In ra các số chẵn trong mảng bằng Python
- Tìm kiếm phần tử trong mảng bằng Python
- Sự khác nhau giữa mảng, tuple, dictionary và set trong Python
- Sắp xếp mảng tăng / giảm dần bằng Python
- Chương trình quản lý sinh viên Python lưu mảng và dictionary