Trắc nghiệm Tin 10 Cánh diều Bài 14: Kiểu dữ liệu danh sách - Xử lí danh sách - Đề 04
Trắc nghiệm Tin 10 Cánh diều Bài 14: Kiểu dữ liệu danh sách - Xử lí danh sách - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Hàm nào sau đây được sử dụng để xác định số lượng phần tử có trong một danh sách trong Python?
- A. size()
- B. len()
- C. count()
- D. index()
Câu 2: Cho danh sách `my_list = [10, 20, 30, 40]`. Để truy cập và in ra phần tử có giá trị 30, bạn sẽ sử dụng cú pháp nào sau đây?
- A. print(my_list[3])
- B. print(my_list[20])
- C. print(my_list[2])
- D. print(my_list[30])
Câu 3: Xét danh sách `numbers = [5, 2, 8, 1, 9]`. Sau khi thực hiện lệnh `numbers.sort()`, danh sách `numbers` sẽ có thứ tự như thế nào?
- A. [1, 2, 5, 8, 9]
- B. [9, 8, 5, 2, 1]
- C. [5, 2, 8, 1, 9]
- D. [2, 5, 1, 8, 9]
Câu 4: Cho danh sách `colors = ["red", "green", "blue"]`. Lệnh nào sau đây sẽ thêm màu "yellow" vào cuối danh sách `colors`?
- A. colors.add("yellow")
- B. colors.append("yellow")
- C. colors.insert("yellow")
- D. colors + ["yellow"]
Câu 5: Danh sách `fruits = ["apple", "banana", "orange", "grape"]`. Lệnh `fruits.pop(1)` sẽ trả về giá trị nào và danh sách `fruits` sau đó sẽ như thế nào?
- A. Trả về "apple", danh sách còn ["banana", "orange", "grape"]
- B. Trả về "banana", danh sách còn ["apple", "orange", "grape"]
- C. Trả về "banana", danh sách còn ["apple", "orange", "grape"]
- D. Trả về "orange", danh sách còn ["apple", "banana", "grape"]
Câu 6: Để loại bỏ phần tử có giá trị cụ thể "orange" khỏi danh sách `fruits = ["apple", "banana", "orange", "grape"]`, bạn sẽ sử dụng phương thức nào?
- A. fruits.pop("orange")
- B. fruits.delete("orange")
- C. fruits.remove(2)
- D. fruits.remove("orange")
Câu 7: Giả sử bạn có hai danh sách `list1 = [1, 2, 3]` và `list2 = [4, 5, 6]`. Biểu thức nào sau đây sẽ tạo ra một danh sách mới là sự kết hợp của `list1` và `list2`?
- A. list1 + list2
- B. list1.extend(list2)
- C. list1.append(list2)
- D. list1.concat(list2)
Câu 8: Cho danh sách `numbers = [1, 2, 2, 3, 2, 4]`. Hàm `numbers.count(2)` sẽ trả về giá trị nào?
Câu 9: Xét đoạn mã sau:
`my_list = [10, 20, 30]`
`my_list[1] = 25`
`print(my_list)`
Đoạn mã này sẽ in ra kết quả gì?
- A. [10, 20, 30]
- B. [10, 25, 30]
- C. [10, 20, 25]
- D. [25, 20, 30]
Câu 10: Cho danh sách `data = [5, 10, 15, 20, 25]`. Để tạo một danh sách con chứa các phần tử từ chỉ số 1 đến 3 (không bao gồm chỉ số 3), bạn sử dụng cú pháp cắt lát (slicing) nào?
- A. data[1:4]
- B. data[1:2]
- C. data[2:4]
- D. data[1:3]
Câu 11: Phương thức `clear()` được sử dụng để làm gì đối với một danh sách?
- A. Xóa một phần tử cụ thể khỏi danh sách.
- B. Sắp xếp lại các phần tử trong danh sách.
- C. Xóa tất cả các phần tử khỏi danh sách, làm cho danh sách trở thành rỗng.
- D. Đảo ngược thứ tự các phần tử trong danh sách.
Câu 12: Cho danh sách `letters = ["a", "b", "c", "d"]`. Lệnh `letters.insert(2, "x")` sẽ thay đổi danh sách `letters` như thế nào?
- A. ["a", "b", "c", "d", "x"]
- B. ["a", "b", "x", "c", "d"]
- C. ["a", "x", "b", "c", "d"]
- D. ["x", "a", "b", "c", "d"]
Câu 13: Bạn có một danh sách các chuỗi tên học sinh. Bạn muốn sắp xếp danh sách này theo thứ tự bảng chữ cái. Phương thức nào của danh sách sẽ giúp bạn thực hiện điều này?
- A. sort()
- B. sorted()
- C. reverse()
- D. alphabetize()
Câu 14: Cho danh sách `values = [15, 8, 22, 5, 12]`. Để sắp xếp danh sách này theo thứ tự giảm dần, bạn sẽ sử dụng phương thức `sort()` như thế nào?
- A. values.sort()
- B. values.sort(reverse=True)
- C. values.sorted(reverse=True)
- D. values.reverse_sort()
Câu 15: Xét đoạn mã:
`list_a = [1, 2, 3]`
`list_b = list_a`
`list_b.append(4)`
`print(list_a)`
Kết quả in ra của `list_a` là gì? Giải thích tại sao.
- A. [1, 2, 3], vì `list_b` là một bản sao độc lập của `list_a`.
- B. [1, 2, 3], vì lệnh `append(4)` chỉ tác động lên `list_b`.
- C. [1, 2, 3, 4], vì `list_b` chỉ là một tham chiếu đến `list_a`, không phải bản sao.
- D. Lỗi, vì không thể gán danh sách cho một biến khác trực tiếp.
Câu 16: Cho danh sách `items = ["pen", "book", "ruler"]`. Để duyệt qua từng phần tử và in ra chúng, bạn sẽ sử dụng cấu trúc vòng lặp nào?
- A. `for item in items:`
- B. `while item in items:`
- C. `loop item in items:`
- D. `for i in range(len(items)):`
Câu 17: Viết lệnh Python để tạo một danh sách rỗng có tên là `my_empty_list`.
- A. my_empty_list = ()
- B. my_empty_list = []
- C. my_empty_list = list()
- D. Cả 2 và 3
Câu 18: Cho danh sách `numbers = [7, 3, 9, 1, 5]`. Bạn muốn tìm giá trị lớn nhất trong danh sách này. Hàm nào sau đây sẽ giúp bạn?
- A. length()
- B. sum()
- C. max()
- D. sort()
Câu 19: Danh sách có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau không? Cho ví dụ.
- A. Có. Ví dụ: `mixed_list = [1, "hello", 3.14, True]`
- B. Không. Danh sách chỉ chứa các phần tử cùng kiểu dữ liệu.
- C. Có, nhưng chỉ với kiểu số và chuỗi.
- D. Không chắc chắn.
Câu 20: Cho danh sách lồng nhau `matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Để truy cập và in ra số 5, bạn sử dụng cú pháp nào?
- A. print(matrix[5])
- B. print(matrix[1][1])
- C. print(matrix[2][1])
- D. print(matrix[1, 1])
Câu 21: Bạn muốn kiểm tra xem giá trị 15 có tồn tại trong danh sách `numbers = [10, 15, 20, 25]` hay không. Toán tử nào sau đây được sử dụng để kiểm tra sự tồn tại của một phần tử trong danh sách?
- A. ==
- B. is in
- C. exist
- D. in
Câu 22: Cho danh sách `words = ["cat", "dog", "fish"]`. Để đảo ngược thứ tự các phần tử trong danh sách này (thành ["fish", "dog", "cat"]), bạn sẽ sử dụng phương thức nào?
- A. sort(reverse=True)
- B. sorted(reverse=True)
- C. reverse()
- D. invert()
Câu 23: Xét đoạn mã:
`a = [1, 2, 3]`
`b = a.copy()`
`b.append(4)`
`print(a)`
Kết quả in ra của `a` là gì? Giải thích tại sao kết quả này khác với Câu 15.
- A. [1, 2, 3, 4], vì `copy()` tạo ra một tham chiếu mới.
- B. [1, 2, 3], vì `copy()` tạo ra một bản sao độc lập của `a`, nên thay đổi `b` không ảnh hưởng đến `a`.
- C. [1, 2, 3, 4], vì `append()` luôn thay đổi danh sách gốc.
- D. Lỗi, vì `copy()` không phải là phương thức hợp lệ của danh sách.
Câu 24: Trong tình huống nào thì kiểu dữ liệu danh sách là lựa chọn phù hợp để lưu trữ dữ liệu?
- A. Khi bạn cần lưu trữ một giá trị duy nhất.
- B. Khi bạn cần lưu trữ dữ liệu không thay đổi.
- C. Khi bạn cần truy cập dữ liệu theo khóa (key-value pairs).
- D. Khi bạn cần lưu trữ một tập hợp các phần tử có thứ tự và có thể thay đổi.
Câu 25: Cho danh sách `numbers = [1, 2, 3, 4, 5]`. Bạn muốn tính tổng của tất cả các số trong danh sách này. Hàm nào sau đây sẽ giúp bạn?
- A. sum()
- B. total()
- C. add()
- D. calculate_sum()
Câu 26: Bạn có một chuỗi ký tự `text = "python"`. Làm thế nào để chuyển đổi chuỗi này thành một danh sách các ký tự?
- A. text.toList()
- B. text.split("")
- C. list(text)
- D. text.asList()
Câu 27: Cho danh sách `values = [10, 20, 30]`. Bạn muốn nhân đôi mỗi phần tử trong danh sách và tạo ra một danh sách mới `[20, 40, 60]`. Sử dụng list comprehension, bạn viết biểu thức nào?
- A. [i*2 for i in values]
- B. values.map(lambda x: x*2)
- C. [values[i]*2 for i in range(len(values))]
- D. [x*2 for x in values]
Câu 28: Cho danh sách `data = [5, 10, 15, 10, 20]`. Bạn muốn tìm chỉ số của lần xuất hiện đầu tiên của giá trị 10. Phương thức nào sẽ giúp bạn?
- A. find(10)
- B. index(10)
- C. search(10)
- D. position(10)
Câu 29: Bạn có danh sách các số nguyên dương. Bạn muốn lọc ra các số chẵn và tạo một danh sách mới chỉ chứa các số chẵn. Sử dụng list comprehension, bạn viết biểu thức nào (giả sử danh sách ban đầu là `numbers`)?
- A. [x for x in numbers]
- B. [x for x in numbers if x % 2 != 0]
- C. [x for x in numbers if x % 2 == 0]
- D. [if x % 2 == 0: x for x in numbers]
Câu 30: Cho danh sách `list1 = ["a", "b"]` và `list2 = ["c", "d"]`. Bạn muốn tạo ra danh sách `["a", "b", "c", "d"]`. Ngoài phép cộng danh sách, phương thức nào khác có thể đạt được kết quả tương tự?
- A. list1.extend(list2)
- B. list1.append(list2)
- C. list1.insert(list2)
- D. list1.merge(list2)