Giải bài 22: Kiểu dữ liệu danh sách - Sách tin học 10 kết nối tri thức. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học..
Khởi động
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ế.
Hướng dẫn giải:
Một số dữ liệu kiểu danh sách thường gặp trên thực tế như:
- 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.
- Bảng điểm của lớp 10A3.
- Báo cáo các khoản thu, chi... của thủ quỹ.
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?
Hướng dẫn giải:
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)]
Hướng dẫn giải:
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
Hướng dẫn giải:
a) Ghép phần tử 10 vào sau danh sách A
b) Xóa phần tử thứ nhất của danh sách A
c) Ghép phần tử 100 vào trước danh sách A
d) Tính tích của phần tử thứ hai của danh sách A với 25.
B. Bài tập và hướng dẫn giải
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)
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.
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?
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]
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.
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.
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.