1. Đặc điểm của List [
- Có thể thay đổi (Mutable): Bạn có thể thêm, sửa hoặc xóa phần tử sau khi tạo.
- Có thứ tự: Các phần tử được sắp xếp theo vị trí (index).
- Đa dạng kiểu dữ liệu: Một list có thể chứa đồng thời số, chuỗi (string), số thực (float),...
- Cho phép trùng lặp: Các giá trị giống nhau có thể cùng tồn tại trong một list.
2. Cách tạo List [
- Dùng ngoặc vuông: my_list = [1, 2, 3] hoặc list rỗng e = [].
- Dùng hàm constructor list(): Chuyển đổi từ kiểu dữ liệu khác (như tuple hoặc string) sang list.
- Nhân bản list: Ví dụ [0] * 5 sẽ tạo ra list có 5 phần tử đều là số 0 [02:02].
3. Truy cập và Cắt List (Slicing) [
- Index: Bắt đầu từ 0 cho phần tử đầu tiên và -1 cho phần tử cuối cùng.
- Slicing: * [1:3]: Lấy từ index 1 đến index 2 (không lấy index 3).
4. Các phương thức điều chỉnh List (Modifying) [
- Thêm phần tử:
- append(): Thêm vào cuối list.
- insert(index, value): Chèn giá trị vào vị trí cụ thể.
- extend(): Nối thêm một list khác vào list hiện tại.
- Xóa phần tử:
- remove(value): Xóa phần tử theo giá trị.
- pop(): Lấy ra và xóa phần tử cuối cùng.
- del list[index]: Xóa phần tử tại vị trí index.
- clear(): Xóa sạch toàn bộ list.
5. Các thao tác nâng cao [
- Sắp xếp: sort() (sắp xếp trực tiếp trên list cũ) hoặc sorted() (tạo ra list mới đã sắp xếp).
- Vòng lặp: Duyệt qua list bằng for hoặc dùng enumerate() để lấy cả index và giá trị [08:48].
- List Comprehension: Cách viết ngắn gọn để tạo list mới dựa trên điều kiện (ví dụ: tạo list bình phương các số chẵn) [09:15].
- Kiểm tra tồn tại: Dùng từ khóa in (ví dụ: if 3 in nums).
- Copy List: Dùng phương thức .copy(), hàm list() hoặc kỹ thuật slicing [:] [10:23].
- Gộp List: Sử dụng toán tử giải nén * (ví dụ: [*list1, *list2]) [11:15].

