PyPython Lab

Giai đoạn 1 · 30 phút · Miễn phí

Danh sách (list)

Lưu nhiều giá trị trong một biến: tạo list, chỉ số, append, len, duyệt list, sum, max, min, split().

Mục tiêu

Vì sao cần học

Lớp học có 40 học viên, không ai tạo 40 biến. List giữ cả dãy giá trị trong một biến và xử lý chúng bằng vòng lặp.

Khái niệm

List viết trong ngoặc vuông: diem = [8, 6, 9].

Chỉ số bắt đầu từ 0: diem[0] là 8. diem[-1] là phần tử cuối. Truy cập chỉ số không tồn tại gây IndexError.

append(x) thêm x vào cuối. len(ds) là số phần tử. sum, max, min tính tổng, lớn nhất, nhỏ nhất.

input().split() tách một dòng thành list các chuỗi; dùng [int(x) for x in input().split()] hoặc list(map(int, input().split())) để được list số.

Cú pháp

ds = [1, 2, 3]
ds.append(4)
print(ds[0], len(ds))
for x in ds:
    print(x)

Ví dụ

diem = list(map(int, input().split()))
print("Số bài:", len(diem))
print("Cao nhất:", max(diem))
print("Trung bình:", sum(diem) / len(diem))

Dữ liệu nhập:

8 6 10

Kết quả:

Số bài: 3
Cao nhất: 10
Trung bình: 8.0

Giải thích từng dòng

  1. Dòng 1: tách "8 6 10" thành ["8", "6", "10"], đổi từng phần tử sang số: [8, 6, 10].
  2. Dòng 2: len cho 3.
  3. Dòng 3: max cho 10.
  4. Dòng 4: 24 / 3 = 8.0 (phép / cho số thực).

Lỗi thường gặp

ds = [1, 2, 3]
print(ds[3])

List có 3 phần tử, chỉ số chỉ từ 0 đến 2: IndexError.

print(ds[2]) hoặc ds[-1]
ds = input().split()
print(sum(ds))

Các phần tử vẫn là chuỗi, sum báo TypeError.

ds = list(map(int, input().split()))
ds.append(4, 5)

append chỉ nhận một giá trị.

ds.append(4) rồi ds.append(5), hoặc ds.extend([4, 5])

Tóm tắt

Luyện tập 2 bài và 3 câu hỏi nhanh

Viết code ngay trên trình duyệt, máy chấm chạy Python thật và chỉ đúng dòng sai bằng tiếng Việt.

Vào luyện tập miễn phí