Đăng nhập

Bài 9: Danh sách (List) và xử lý dữ liệu dạng tập hợp

Chúng ta cùng khám phá Bài 9: Danh sách (List) và xử lý dữ liệu dạng tập hợp – đây là bước chuyển lớn từ làm việc với từng giá trị riêng lẻ sang xử lý nhiều giá trị cùng lúc, cực kỳ quan trọng nếu bạn muốn phân tích dữ liệu, lặp qua nhiều phần tử, lưu trữ hàng loạt kết quả, và còn nhiều hơn thế.


Mục tiêu bài học

  • Hiểu khái niệm danh sách (list) trong Python
  • Biết cách tạo, truy cập, sửa đổi, xóa và lặp qua danh sách
  • Làm quen với một số hàm và phương thức xử lý danh sách
  • Nắm cách dùng list để xử lý dữ liệu tập hợp linh hoạt

Danh sách (List) là gì?

Danh sách là một cấu trúc dữ liệu chứa nhiều phần tử, có thể thuộc cùng hoặc khác kiểu, được đặt trong dấu ngoặc vuông []cách nhau bởi dấu phẩy ,.

Ví dụ:

ds_so = [1, 2, 3, 4, 5]
ds_ten = ["An", "Bình", "Cường"]
ds_tong_hop = [1, "hai", 3.0, True]

Danh sách rất phổ biến – dùng để lưu trữ nhiều giá trị dưới một tên biến duy nhất.


Truy cập phần tử trong danh sách

Truy cập bằng chỉ số (index) – bắt đầu từ 0

ten = ["Lan", "Mai", "Hà"]
print(ten[0])     # Lan
print(ten[-1])    # Hà (phần tử cuối)

Thay đổi giá trị trong danh sách

ten[1] = "Linh"
print(ten)  # ['Lan', 'Linh', 'Hà']

Duyệt qua danh sách với for

for t in ten:
    print("Xin chào", t)

Các thao tác phổ biến với danh sách

a. Thêm phần tử

ds = [1, 2, 3]
ds.append(4)               # Thêm vào cuối
ds.insert(1, 10)           # Chèn 10 vào vị trí số 1

b. Xóa phần tử

ds.remove(2)               # Xóa giá trị 2 đầu tiên tìm thấy
ds.pop()                  # Xóa phần tử cuối cùng
ds.pop(1)                 # Xóa phần tử tại chỉ số 1
del ds[0]                 # Xóa phần tử tại chỉ số 0

c. Kiểm tra tồn tại

if "Lan" in ten:
    print("Có Lan trong danh sách")

d. Sắp xếp danh sách

so = [5, 1, 9, 2]
so.sort()       # Sắp xếp tăng dần
so.reverse()    # Đảo ngược danh sách

e. Tạo danh sách từ đầu vào

ds = []
for i in range(5):
    so = int(input(f"Nhập số thứ {i+1}: "))
    ds.append(so)

print("Danh sách bạn đã nhập:", ds)

Một số hàm và thao tác hữu ích

Hàm / Phương thứcMô tả
len(ds)Trả về số phần tử
sum(ds)Tính tổng các phần tử số
max(ds) / min(ds)Giá trị lớn nhất / nhỏ nhất
list(range(n))Tạo danh sách số từ 0 đến n-1
sorted(ds)Trả về bản sao đã sắp xếp

Gộp, sao chép, cắt danh sách

a. Gộp danh sách

a = [1, 2]
b = [3, 4]
c = a + b  # [1, 2, 3, 4]

b. Nhân danh sách

a = ["Hi"] * 3  # ['Hi', 'Hi', 'Hi']

c. Cắt danh sách (slice)

ten = ["An", "Bình", "Chi", "Dũng", "Hà"]
print(ten[1:4])     # ['Bình', 'Chi', 'Dũng']
print(ten[:3])      # ['An', 'Bình', 'Chi']
print(ten[-2:])     # ['Dũng', 'Hà']

Bài tập luyện tập

Bài tập 1: Nhập vào 5 số, in ra:

  • Danh sách số vừa nhập
  • Tổng, trung bình, lớn nhất, nhỏ nhất

Bài tập 2: Nhập danh sách tên học sinh. In ra:

  • Tổng số học sinh
  • Danh sách in hoa toàn bộ
  • Danh sách sắp xếp theo tên

Bài tập 3: Viết chương trình cho phép người dùng thêm, xóa tên trong danh sách, và in danh sách ra sau mỗi thao tác.

Bài tập 4: Tạo danh sách điểm số, đếm có bao nhiêu bạn đạt >= 8.0


Ghi nhớ

  • Danh sách là kiểu dữ liệu dạng tập hợp có thứ tự, có thể thay đổi
  • Bạn có thể duyệt, cắt, nối, thêm, xóa và xử lý dữ liệu rất linh hoạt
  • Dùng list giúp bạn dễ dàng quản lý tập dữ liệu số lượng lớn trong lập trình

Kết luận

Bạn vừa học một trong những cấu trúc dữ liệu quan trọng nhất trong Python – list. Nó giúp bạn làm việc với nhiều dữ liệu một cách gọn gàng và hiệu quả, và là tiền đề để hiểu sâu hơn các cấu trúc khác như tuple, set, dictionary và mảng trong các ngôn ngữ khác.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.