Dễ hiểu giải tin học 10 kết nối bài 22: Kiểu dữ liệu danh sách
Giải dễ hiểu bài 22: Kiểu dữ liệu danh sách. Trình bày rất dễ hiểu, nên tiếp thu Tin học 10 Kết nối dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới
BÀI 22 KIỂU DỮ LIỆU DANH SÁCH
KHỞI ĐỘNG
Câu 1: Em đã học được những kiểu dữ liệu cơ bản của Python như số nguyên, số thực, xâu kí tự, kiểu dữ liệu logic. Tuy nhiên, khi em cần lưu một dãy các số hay một danh sách học sinh thì cần kiểu dữ liệu dạng danh sách (còn gọi là dãy hay mảng). Kiểu dữ liệu danh sách được dùng nhiều nhất trong Python là kiểu list.
Em hãy tìm một số dữ liệu kiểu danh sách thường gặp trên thực tế.
Giải nhanh:
- Danh sách học sinh được khen thưởng.
- Danh sách học sinh được lãnh học bổng.
- Danh sách các học sinh trong lớp.
1. KIỂU DỮ LIỆU DANH SÁCH
Hoạt động 1: Khởi tạo và tìm hiểu dữ liệu kiểu danh sách
Khởi tạo dữ liệu danh sách như thế nào? Cách truy cập, thay đổi giá trị và xóa một phần tử trong danh sách như thế nào?
Giải nhanh:
Khởi tạo dữ liệu danh sách: <tên list> = [<v_{1}>, <v_{2}>,..., <v_{n}>]
Truy cập hoặc thay đổi giá trị của từng phần tử của danh sách thông qua chỉ số.
Xóa phần tử bằng lệnh del.
Câu hỏi:
Câu 1: Cho danh sách A = [1, 0, "One", 9, 15, "Two", True, False]. Hãy cho biết giá trị các phần tử:
a) A[0] b) A[2] c) A[7] d) A[len(A)]
Giải nhanh:
a) 1 b) 'One' c) False d) Không tồn tại
Câu 2: Giả sử A là một danh sách các số, mỗi lệnh sau thực hiện công việc gì?
a) A = A + [10] b) del A[0] c) A = [100] + A d) A[1]*25
Giải nhanh:
- Ghép phần tử 10 vào sau danh sách A
- Xóa phần tử thứ nhất của danh sách A
- Ghép phần tử 100 vào trước danh sách A
- Tính tích của phần tử thứ hai của danh sách A với 25.
2. DUYỆT CÁC PHẦN TỬ CỦA DANH SÁCH
Câu 1: Giải thích các câu lệnh ở mỗi câu sau thực hiện công việc gì?
a)
>>> S = 0
>>> for i in range(len(A)):
if A[i] > 0:
S = S + A[i]
>>> print (S)
b)
>>> C = 0
>>> for i in range (len(A)):
if A[i] > 0:
C = C + 1
>>> print (C)
Giải nhanh:
a) Tính tổng các phần tử lớn hơn 0 trong dãy A.
b) Đếm các phần tử lớn hơn 0 trong dãy A.
Câu 2: Cho dãy số nguyên A, viết chương trình in ra các số chẵn của A.
Giải nhanh:
3. THÊM PHẦN TỬ VÀO DANH SÁCH
Câu 1: Sau khi thêm một phần tử vào danh sách A bằng lệnh append( ) thì độ dài danh sách A thay đổi như thế nào?
Giải nhanh:
Độ dài danh sách A sẽ thêm phần tử trong dấu ( ) sau append vào đuôi danh sách.
Câu 2: Danh sách A sẽ như thế nào sau các lệnh sau?
>>> A = [2, 4, 10, 1, 0]
>>> A.append(100)
>>> del A[1]
Giải nhanh:
- Sau lệnh ">>> A. append(100)", danh sách A hiển thị [2, 4, 10, 1, 0, 100].
- Sau lệnh ">>> del A[1]", danh sách A hiển thị [2, 10, 1, 0, 100].
LUYỆN TẬP
Câu 1: Viết lệnh xóa phần tử cuối cùng của danh sách A bằng lệnh del.
Giải nhanh:
del A[chỉ số cuối cùng của danh sách]
Câu 2: Có thể thêm một phần tử vào đầu danh sách được không? Nếu có thì nêu cách thực hiện.
Giải nhanh:
Có thể thêm một phần tử vào vào đầu danh sách: >>> [phần tử cần thêm] + A
VẬN DỤNG
Cho dãy số A. Viết chương trình tìm giá trị và chỉ số của phần tử lớn nhất của A. Tương tự với bài toán tìm phần tử nhỏ nhất.
Giải nhanh:
>>> max = A[0]
>>> for i in range (len(A)):
if A[i] > max:
max = A[i]
i = i + 1
>>>for k in range (len(A)):
if A[k] == max:
print ("Giá trị lớn nhất là:", max, "Chỉ số là:", k)
>>> min = A[0]
>>> for i in range (len(A)):
if A[i] < min:
min = A[i]
i = i + 1
>>>for k in range (len(A)):
if A[k] == min:
print ("Giá trị nhỏ nhất là:", min, "Chỉ số là:", k)
Bình luận