BÀI 23: MỘT SỐ LỆNH LÀM VIỆC VỚI DỮ LIỆU DANH SÁCH

 


CHỦ ĐỀ 5 – BÀI 23 – TIN HỌC 10

Một Số Lệnh Làm Việc Với Dữ Liệu Danh Sách

Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính

A. Yêu Cầu Cần Đạt

🔍

Hiểu cách sử dụng toán tử in với danh sách.

🔁

Biết duyệt danh sách bằng for ... in.

🔧

Biết sử dụng các phương thức: append(), insert(), remove(), clear().

💡

Vận dụng các lệnh trên để giải quyết các bài toán đơn giản.

🔍 1. Toán Tử in

Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách hay không.

Cú pháp:

giá_trị in danh_sách

• Trả về True nếu phần tử có trong danh sách. • Trả về False nếu không có.

Ví dụ:

A = [1, 2, 3, 4, 5]
print(2 in A)
print(10 in A)
Crop unrecognizable person selecting document in opened briefcase for documents placed on wooden table

🔁 2. Duyệt Danh Sách Bằng for ... in

Thay vì dùng chỉ số, có thể duyệt trực tiếp từng phần tử của danh sách bằng cú pháp for x in A.

A = [10, 11, 12, 13, 14, 15]
for x in A:
print(x, end=" ")

• Ngắn gọn, dễ đọc. • Không cần dùng range(len(A)).

High-angle view of woman coding on a laptop, with a Python book nearby.

🔧 3. Một Số Lệnh Làm Việc Với Danh Sách

3.1. Thêm phần tử cuối danh sách – append(x)

A = [1, 2]
A.append(3)
print(A)

3.2. Chèn phần tử vào vị trí bất kỳ – insert(vị_trí, giá_trị)

A = [1, 2, 6]
A.insert(2, 5)
print(A)

Lưu ý: Nếu vị trí < 0 → chèn vào đầu. Nếu vị trí > độ dài → chèn vào cuối.

3.3. Xóa phần tử theo giá trị – remove(x)

A = [1, 2, 3, 2, 4]
A.remove(2)
print(A)

Lưu ý: Chỉ xóa phần tử đầu tiên có giá trị bằng x.

3.4. Xóa toàn bộ danh sách – clear()

A = [1, 2, 3]
A.clear()
print(A)

📝 C. Thực Hành

🔸 Bài 1: Nhập danh sách học sinh (chèn vào đầu)

ds = []
n = int(input("Nhập số học sinh: "))
for i in range(n):
ten = input("Nhập tên học sinh: ")
ds.insert(0, ten)
print("Danh sách:")
for ten in ds:
print(ten)

🔸 Bài 2: Xóa các số âm trong danh sách

A = [0, 1, -3, -10, 5, 9, -20, 55]
i = 0
while i < len(A):
if A[i] < 0:
A.remove(A[i])
else:
i += 1
print(A)

🔸 Bài 3: Tìm dãy con [1,2,3]

A = [0, 4, 0, 1, 2, 3, 8, 9, 0, 1, 2, 3]
p = [1, 2, 3]
vitri = -1
i = 0
while i <= len(A) - 3 and vitri == -1:
if A[i] == p[0] and A[i+1] == p[1] and A[i+2] == p[2]:
vitri = i
else:
i += 1
if vitri >= 0:
print("Tìm thấy tại vị trí", vitri)
else:
print("Không tìm thấy")

D. Ghi Nhớ

LệnhChức năng
x in AKiểm tra phần tử có trong danh sách
append(x)Thêm cuối danh sách
insert(i, x)Chèn vào vị trí i
remove(x)Xóa phần tử đầu tiên có giá trị x
clear()Xóa toàn bộ danh sách
for x in A:Duyệt từng phần tử

Luyện Tập – Vận Dụng

E. LUYỆN TẬP

Câu 1. Cho dãy số [1,2,2,3,4,5,5]. Viết lệnh thực hiện:

a) Chèn số 1 vào ngay sau giá trị 1 của dây.
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và số 4 liền nhau hai lần
A = [1, 2, 2, 3, 4, 5, 5]
# a) Chèn số 1 vào ngay sau giá trị 1
A.insert(1, 1)
# b) Chèn số 3 và 4 để xuất hiện liên tiếp hai lần
A.insert(4, 3)
A.insert(5, 4)
print(A) 
Câu 2. Cho trước dãy số A. Viết chương trình thực hiện công việc sau:
Xoá đi một phần tử ở chính giữa dãy nếu số phần tử của dãy là số lẻ.
– Xoá đi hai phần tử ở chính giữa của dây nếu số phần tử của dãy là số chẵn.
# Xóa số lẻ đầu tiên
for x in A:
if x % 2 != 0:
A.remove(x)
break

# Xóa hai số chẵn đầu tiên
dem = 0
i = 0
while i < len(A):
if A[i] % 2 == 0:
del A[i]
dem += 1
if dem == 2:
break
else:
i += 1

F. VẬN DỤNG

Câu 1. Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dây số A bao gồm n số tự nhiên chẵn đầu tiên.
A = []
n = int(input("Nhập n: "))
for i in range(n):
A.append(int(input()))
for x in A:
print(x, end=" ")
Câu 2. Dãy số Fibonacci được xác định như sau:
Fn = 0
F1 = 1
Fn = Fn-1+Fn-2 (với n >= 2) .
Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm n số hạng đầu của dãy Fibonacci.
n = int(input("Nhập n: "))
A = [0, 1]
while len(A) < n:
A.append(A[-1] + A[-2])
for x in A:
print(x, end=" ")
Fascinating blue spiral design with intricate geometric patterns.

"Danh sách – nơi dữ liệu được tổ chức và xử lý một cách linh hoạt!"

5 - TRẮC NGHIỆM

Bài cũ hơn Bài mới hơn
Đọc tiếp:
Lên đầu trang