Tin học lớp 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
A. Lý thuyết Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
1. Duyệt danh sách với 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 đã cho không. Kết quả trả lại True (Đúng) hoặc False (Sai).
<giá trị> in
Ví dụ 1: Dùng toán tử in để kiểm tra <giá trị> có trong không?
>>> A = [1, 2, 3, 4, 5]
>>> 2 in A
True
>>> 10 in A
False
⇒ Số nguyên 2 nằm trong dãy A, kết quả trả lại True. Số 10 không nằm trong dãy A, kết quả trả lại False.
– Có thể duyệt nhanh từng phần tử của danh sách bằng toán tử in và lệnh for mà không cần sử dụng lệnh range().
Ví dụ 2: Sử dụng toán tử in để duyệt từng phần tử của danh sách
>>> A = [10, 11, 12, 13, 14, 15]
>>> for k in A:
print(k, end = “ “ )
10 11 12 13 14 15
⇒ Khi thực hiện lệnh này, biến k sẽ lần lượt nhận các giá trị từ dãy A.
2. Một số lệnh làm việc với danh sách
A.append(x) |
Bổ sung phần tử x và cuối danh sách A |
A.insert(k, x) |
Chèn phần tử x vào vị trí k của danh sách |
A.clear() |
Xóa toàn bộ dữ liệu của danh sách A |
A.remove(x) |
Xóa phần tử x từ danh sách A |
– Ví dụ 1: Lệnh clear() xóa toàn bộ danh sách
>>> A = [1, 2, 3, 4, 5]
>>> A.clear()
>>> A
[ ]
⇒ Sau khi thực hiện lệnh clear( ), danh sách gốc trở thành rỗng.
– Ví dụ 2: Lệnh remove(value) xóa phần tử đầu tiên của danh sách có ghi giá trị value. Nếu không có phần tử nào thì sẽ báo lỗi.
– Ví dụ 3: Lệnh insert có chức năng chèn phần tử vào danh sách tại chỉ số cho trước.
Thực hành: Các lệnh làm việc với dữ liệu kiểu danh sách
Nhiệm vụ 1: Nhập số n từ bàn phím, sau đó nhập danh sách n tên học sinh trong lớp và in ra danh sách học sinh này, mỗi tên học sinh trên một dòng. Yêu cầu danh sách được in ra theo thứ tự ngược lại với thứ tự đã nhập.
Hướng dẫn
Nhập số tự nhiên n, sau đó sẽ lần lượt yêu cầu nhập n tên học sinh. Tuy nhiên do yêu cầu in danh sách học sinh theo thứ tự ngược lại so với thứ tự nhập nên cần dùng lệnh insert() để chèn tên học sinh được nhập vào đầu danh sách.
Chương trình:
Nhiệm vụ 2: Cho trước dãy số A. Viết chương trình xóa đi các phần tử có giá trị nhỏ hơn 0 từ A.
Hướng dẫn
Duyệt từng phần tử của dãy số A, kiểm tra nếu phần tử này nhỏ hơn 0 thì xóa đi.
Chương trình có thể như sau:
Kết quả khi chạy chương trình:
Nhiệm vụ 3: Cho trước dãy số A. Viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy số A mà ba số hạng liên tiếp có giá trị 1, 2, 3. Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không thì thông báo “Không tìm thấy mẫu”.
Hướng dẫn
Soạn thảo chương trình sau rồi thực hiện kiểm tra tính đúng đắn của chương trình.
B. Bài tập trắc nghiệm Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Câu 1. Lệnh nào sau đây xoá toàn bộ danh sách?
A. clear().
B. exit().
C. remove().
D. del().
Hướng dẫn giải
Đáp án đúng là: A
Sau khi thực hiện lệnh clear(), danh sách gốc trở thành rỗng.
Câu 2. Phát biểu nào sau đây là sai?
A. Sau khi thực hiện lệnh clear(), danh sách gốc trở thành rỗng.
B. Lệnh remove () có chức năng xoá một phần tử có giá trị cho trước.
C. Lệnh remove() xoá tất cả các phần tử có giá trị cho trước trong list.
D. Clear() có tác dụng xoá toàn bộ các danh sách.
Hướng dẫn giải
Đáp án đúng là: C
Lệnh remove xoá phần tử đầu tiên có giá trị cho trước trong list.
Câu 3. Số phát biểu đúng là:
1) Sau khi thực hiện lệnh clear(), các phần tử trả về giá trị 0.
2) Lệnh remove trả về giá trị False nếu không có trong danh sách.
3) remove() có tác dụng xoá một phần tử có giá trị cho trước trong list.
4) Lệnh remove() có tác dụng xoá một phần tử ở vị trí cho trước.
A. 1.
B. 2.
C. 0.
D. 3.
Hướng dẫn giải
Đáp án đúng là: A
Phát biểu đúng: 3
Câu 4. Sau khi thực hiện các câu lệnh sau, mảng A như thế nào?
>>> A = [1, 2, 3, 4, 5]
>>> A. remove(2)
>>> print(A)
A. [1, 2, 3, 4].
B. [2, 3, 4, 5].
C. [1, 2, 4, 5].
D. [1, 3, 4, 5].
Hướng dẫn giải
Đáp án đúng là: D
Remove xoá phần tử có giá trị 2 đầu tiên trong mảng.
Câu 5. Phần tử thứ bao nhiêu trong mảng A bị xoá?
>>> A = [10, 20, 3, 30, 20, 30, 20, 6, 3, 2, 8, 9]
>>> A. remove(3)
>>> print(A)
A. 2.
B. 3.
C. 8.
D. 4.
Hướng dẫn giải
Đáp án đúng là: B
Remove xoá phần tử có giá trị 3 đầu tiên trong mảng. Phần tử đó nằm ở vị trí thứ 3.
Câu 6. Toán tử nào dùng để kiểm tra một giá trị có nằm trong danh sách không?
A. in.
B. int.
C. range.
D. append.
Hướng dẫn giải
Đáp án đúng là: A
Dùng toán tử in để kiểm tra <giá trị> có trong danh sách hay không, nếu có trả lại True nếu không thì trả về False:
<giá trị> in
Câu 7. Kết quả của chương trình sau là gì?
A = [1, 2, 3, 4, 5, 6, 5]
for k in A:
print(k, end = ” “)
A. 1 2 3 4 5 6
B. 1 2 3 4 5 6 5
C. 1 2 3 4 5
D. 2 3 4 5 6 5.
Hướng dẫn giải
Đáp án đúng là: B
Vòng lặp duyệt qua và in tất cả các phần tử có trong mảng.
Câu 8. Ngoài việc kết hợp lệnh for và range để duyệt phần tử trong danh sách, có thể sử dụng câu lệnh nào khác?
A. int.
B. while.
C. in range.
D. in.
Hướng dẫn giải
Đáp án đúng là: D
Dùng toán tử in để kiểm tra <giá trị> có trong danh sách hay không, nếu có trả lại True nếu không thì trả về False:
<giá trị> in
Câu 9. Giả sử A = [‘a’, ‘b’, ‘c’, ‘d’, 2, 3, 4]. Các biểu thức sau trả về giá trị đúng hay sai?
6 in A
‘a’ in A
A. True, False.
B. True, False.
C. False, True.
D. False, False.
Hướng dẫn giải
Đáp án đúng là: C
Phần tử 6 không có mặt trong danh sách và ‘a’ có mặt trong A.
Câu 10. Giả sử A = [5, 6, 7, 8, 9, 10, 11, 12]. Biểu thức sau trả về giá trị đúng hay sai?
(3 + 4 – 5 + 18 // 4) in A
A. True.
B. False.
C. Không xác định.
D. Câu lệnh bị lỗi.
Hướng dẫn giải
Đáp án đúng là: A
3 + 4 – 5 + 18 // 4 = 2 + 4 = 6 thuộc vào A nên trả về giá trị True.
Câu 11. Kết quả khi thực hiện chương trình sau?
>>> A = [1, 2, 3, 5]
>>> A.insert(2, 4)
>>> print(A)
A. 1, 2, 3, 4.
B. 1, 2, 4, 3, 5.
C. 1, 2, 3, 4, 5.
D. 1, 2, 4, 5.
Hướng dẫn giải
Đáp án đúng là: B
Lệnh insert() chèn số 4 tại chỉ số 2.
Câu 12. Lệnh sau, chèn phần tử cần thêm vào vị trí thứ mấy trong danh sách A?
A. insert(-5, 3)
A. 3.
B. 1
C. 0
D. 2
Hướng dẫn giải
Đáp án đúng là: B
Do -5 < 0 nên chèn 3 vào vị trí đầu tiên trong A.
Câu 13. Danh sách A trước và sau lệnh insert() là [1, 3, 5, 0] và [1, 3, 4, 5, 0]. Lệnh đã dùng là lệnh gì?
A. insert(2, 4).
B. insert(4, 2).
C. insert(3, 4).
D. insert(4, 3).
Hướng dẫn giải
Đáp án đúng là: A
insert(2, 4) : chèn số 4 vào chỉ số 2.
Câu 14. Danh sách A sau lệnh 1 lệnh remove() và 3 lệnh append() có 8 phần tử. Hỏi ban đầu danh sách A có bao nhiêu phần tử?
A. 8.
B. 7.
C. 4.
D. 6.
Hướng dẫn giải
Đáp án đúng là: D
Số phần tử ban đầu của A là 8 – 3 + 1 = 6.
Câu 15. Chọn phát biểu sai trong các phát biểu sau khi nói về câu lệnh insert trong python:
A. insert(index, value) sẽ chèn giá trị value vào danh sách tại vị trí index và đẩy các phần tử sang phải.
B. Nếu chỉ số chèn < 0 thì chèn vào đầu danh sách.
C. Phần tử có chỉ số k sẽ được thay thế bởi phần tử thêm vào.
D. Nếu chỉ số chèn > len(A) thì chèn vào cuối danh sách.
Hướng dẫn giải
Đáp án đúng là: C
insert(index, value) sẽ chèn giá trị value vào danh sách tại vị trí index và đẩy các phần tử sang phải. ⇒ Phát biểu C sai.
Xem thêm các bài tóm tắt lý thuyết Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Lý thuyết Tin học 10 Bài 22: Kiểu dữ liệu danh sách
Lý thuyết Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết Tin học 10 Bài 24: Xâu kí tự
Lý thuyết Tin học 10 Bài 25: Một số lệnh làm việc với xâu kí tự
Lý thuyết Tin học 10 Bài 26: Hàm trong Python