Trắc nghiệm Tin học 11 Kết nối tri thức Bài 17: Dữ liệu mảng một chiều và hai chiều - Đề 06
Trắc nghiệm Tin học 11 Kết nối tri thức Bài 17: Dữ liệu mảng một chiều và hai chiều - Đề 06 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: Trong Python, kiểu dữ liệu nào thường được sử dụng để biểu diễn mảng một chiều một cách hiệu quả và linh hoạt, cho phép thay đổi kích thước và chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau?
- A. Tuple
- B. Set
- C. List
- D. Dictionary
Câu 2: Cho danh sách `numbers = [10, 25, 5, 30, 15]`. Lệnh Python nào sau đây sẽ trả về giá trị lớn nhất trong danh sách?
- A. numbers.maximum()
- B. max(numbers)
- C. numbers.get_max()
- D. sorted(numbers)[-1]
Câu 3: Xét đoạn mã Python sau:
```python
arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
print(arr[1][2])
```
Đoạn mã này sẽ in ra giá trị nào?
Câu 4: Để thêm phần tử `20` vào cuối danh sách `data = [5, 10, 15]`, phương thức nào sau đây của danh sách là phù hợp nhất?
- A. data.append(20)
- B. data.insert(20)
- C. data.add(20)
- D. data.extend([20])
Câu 5: Giả sử bạn có một danh sách `scores = [8, 7, 9, 6, 10]`. Bạn muốn tạo một danh sách mới chỉ chứa các điểm số lớn hơn hoặc bằng 8. Cách thực hiện nào sau đây là hiệu quả nhất?
- A. `new_scores = scores.filter(lambda x: x >= 8)`
- B. `new_scores = [score for score in scores if score < 8]`
- C. `new_scores = [score for score in scores if score >= 8]`
- D. `new_scores = scores.select(x => x >= 8)`
Câu 6: Trong Python, để khởi tạo một ma trận 3x4 (3 hàng, 4 cột) với tất cả các phần tử ban đầu bằng 0, cách nào sau đây là đúng?
- A. `matrix = [[0] * 3] * 4`
- B. `matrix = [[0] * 4 for _ in range(3)]`
- C. `matrix = [[0 for _ in range(4)] for _ in range(3)]`
- D. `matrix = [0] * 12`
Câu 7: Cho danh sách `colors = ["red", "green", "blue", "yellow"]`. Lệnh `colors.pop(1)` sẽ thực hiện thao tác gì và trả về giá trị nào?
- A. Xóa phần tử "red" và trả về "red"
- B. Xóa phần tử "blue" và trả về "blue"
- C. Xóa phần tử "green" và trả về "green"
- D. Xóa phần tử "yellow" và trả về "yellow"
Câu 8: Xét danh sách số nguyên `data = [15, 8, 22, 5, 19]`. Nếu bạn muốn sắp xếp danh sách này theo thứ tự tăng dần, phương thức nào sau đây là phù hợp nhất?
- A. `data.order()`
- B. `sort(data)`
- C. `sorted(data)` (không thay đổi `data`)
- D. `data.sort()` (thay đổi trực tiếp `data`)
Câu 9: Bạn có một danh sách các chuỗi: `words = ["apple", "banana", "cherry"]`. Bạn muốn kết hợp các chuỗi này thành một chuỗi duy nhất, phân tách bởi dấu phẩy. Cách nào sau đây là đúng?
- A. `", ".join(words)`
- B. `words.join(", ")`
- C. `", ".concat(words)`
- D. `"+, ".join(words)`
Câu 10: Cho ma trận `matrix = [[1, 2], [3, 4], [5, 6]]`. Để lấy ra số hàng của ma trận này, bạn sử dụng lệnh nào?
- A. `len(matrix[0])`
- B. `len(matrix)`
- C. `matrix.rows`
- D. `matrix.count_rows()`
Câu 11: Bạn có danh sách `values = [1, 2, 3, 4, 5]`. Bạn muốn nhân mỗi phần tử trong danh sách với 2 và tạo ra một danh sách mới. Cách nào sau đây sử dụng list comprehension đúng?
- A. `doubled_values = values * 2`
- B. `doubled_values = map(lambda x: x*2, values)`
- C. `doubled_values = for x in values: x*2`
- D. `doubled_values = [x * 2 for x in values]`
Câu 12: Để kiểm tra xem giá trị `3` có tồn tại trong danh sách `numbers = [1, 2, 4, 5]` hay không, biểu thức điều kiện nào sau đây trả về `True` nếu `3` không có trong danh sách?
- A. `3 in numbers`
- B. `3 not in numbers`
- C. `numbers.contains(3)`
- D. `numbers.find(3) == -1`
Câu 13: Bạn muốn tính tổng của tất cả các phần tử trong ma trận `matrix = [[1, 2, 3], [4, 5, 6]]`. Đoạn mã Python nào sau đây thực hiện đúng điều này?
- A. `sum(matrix)`
- B. `sum([sum(row) for row in matrix])`
- C. `total_sum = 0
for row in matrix:
for element in row:
total_sum += element`
- D. `total_sum = 0
for i in range(len(matrix)):
total_sum += sum(matrix[i])`
Câu 14: Cho danh sách `letters = ["a", "b", "c", "d", "e"]`. Kết quả của `letters[1:4]` là gì?
- A. `["a", "b", "c", "d"]`
- B. `["b", "c", "d"]`
- C. `["a", "d", "e"]`
- D. `["b", "c", "d", "e"]`
Câu 15: Bạn có hai danh sách `list1 = [1, 2, 3]` và `list2 = [4, 5, 6]`. Bạn muốn kết hợp `list2` vào cuối `list1`. Phương thức nào sau đây sẽ thay đổi `list1` và đạt được mục đích?
- A. `list1.extend(list2)`
- B. `list1.append(list2)`
- C. `list1 = list1 + list2`
- D. `list1.merge(list2)`
Câu 16: Cho danh sách `numbers = [1, 2, 2, 3, 4, 4, 5]`. Bạn muốn loại bỏ các phần tử trùng lặp và chỉ giữ lại các giá trị duy nhất. Cách hiệu quả nhất để làm điều này là gì?
- A. `unique_numbers = numbers.distinct()`
- B. `unique_numbers = list(numbers.unique())`
- C. `unique_numbers = list(set(numbers))`
- D. `unique_numbers = sorted(set(numbers))`
Câu 17: Bạn có một danh sách tên học sinh `names = ["Alice", "Bob", "Charlie"]`. Bạn muốn chèn tên "David" vào vị trí thứ hai (sau "Alice"). Phương thức nào sau đây là phù hợp?
- A. `names.append("David", 1)`
- B. `names.insert(1, "David")`
- C. `names.add("David", 1)`
- D. `names[1] = "David"`
Câu 18: Cho ma trận `matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Để thay đổi giá trị ở hàng thứ 3, cột thứ 1 thành 10, lệnh nào sau đây là đúng?
- A. `matrix[3][1] = 10`
- B. `matrix[2, 0] = 10`
- C. `matrix.set_value(2, 0, 10)`
- D. `matrix[2][0] = 10`
Câu 19: Bạn có danh sách `numbers = [2, 4, 6, 8, 10]`. Bạn muốn tìm chỉ số (vị trí) của giá trị `6` trong danh sách. Phương thức nào sau đây sẽ trả về chỉ số đó?
- A. `numbers.index(6)`
- B. `numbers.find(6)`
- C. `numbers.get_index(6)`
- D. `numbers.search(6)`
Câu 20: Cho danh sách `data = [1, 2, 3, 4, 5]`. Bạn muốn đảo ngược thứ tự các phần tử trong danh sách này trực tiếp (thay đổi danh sách ban đầu). Phương thức nào sau đây thực hiện điều đó?
- A. `reversed(data)`
- B. `data.reverse()`
- C. `data = data[::-1]` (tạo danh sách mới)
- D. `data.sort(reverse=True)`
Câu 21: Trong Python, kiểu dữ liệu list có những đặc điểm nổi bật nào so với tuple khi sử dụng để biểu diễn mảng một chiều?
- A. Tuple có thể chứa nhiều kiểu dữ liệu hơn list.
- B. Tuple có hiệu suất truy cập phần tử nhanh hơn list.
- C. List có thể thay đổi nội dung (thêm, sửa, xóa phần tử) sau khi tạo, còn tuple thì không.
- D. List chiếm ít bộ nhớ hơn tuple.
Câu 22: Xét đoạn mã Python sau:
```python
matrix = [[1, 2], [3, 4]]
for row in matrix:
for val in row:
print(val, end=" ")
```
Đoạn mã này sẽ in ra kết quả nào?
- A. `1 2 3 4 `
- B. `1 3 2 4 `
- C. `1 2
3 4
`
- D. `[1, 2] [3, 4] `
Câu 23: Cho danh sách `fruits = ["apple", "banana", "orange"]`. Bạn muốn thêm "grape" vào đầu danh sách. Phương thức nào sau đây không phù hợp để làm điều này một cách trực tiếp?
- A. `fruits.insert(0, "grape")`
- B. `fruits = ["grape"] + fruits`
- C. `fruits[:0] = ["grape"]`
- D. `fruits.append("grape")`
Câu 24: Bạn có ma trận vuông `square_matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`. Bạn muốn tính tổng các phần tử trên đường chéo chính (1, 5, 9). Đoạn mã Python nào sau đây thực hiện đúng điều này?
- A. `sum(square_matrix)`
- B. `diagonal_sum = 0
for i in range(len(square_matrix)):
diagonal_sum += square_matrix[i][i]`
- C. `diagonal_sum = sum([square_matrix[i][i] for i in range(len(square_matrix[0]))])`
- D. `diagonal_sum = sum(square_matrix[i][i] for i in range(len(square_matrix)))`
Câu 25: Cho danh sách `numbers = [1, 2, 3, 4, 5]`. Bạn muốn xóa tất cả các phần tử khỏi danh sách, làm cho nó trở thành danh sách rỗng. Phương thức nào sau đây là hiệu quả nhất?
- A. `del numbers` (xóa biến `numbers`)
- B. `numbers = []` (gán danh sách rỗng)
- C. `numbers.clear()`
- D. `numbers.pop()` (xóa phần tử cuối cùng lặp đi lặp lại)
Câu 26: Bạn có danh sách `words = ["hello", "world", "python"]`. Bạn muốn đếm số lần xuất hiện của chuỗi "world" trong danh sách. Phương thức nào sau đây là phù hợp?
- A. `words.find("world")`
- B. `words.index("world")`
- C. `len(words)`
- D. `words.count("world")`
Câu 27: Cho ma trận `matrix = [[1, 2, 3], [4, 5, 6]]`. Để lấy ra số cột của ma trận này, bạn có thể sử dụng cách nào (giả sử ma trận không rỗng và các hàng có số cột bằng nhau)?
- A. `len(matrix[0])`
- B. `len(matrix)`
- C. `len(matrix) / len(matrix[0])`
- D. `matrix.columns`
Câu 28: Bạn có danh sách `temperatures = [25, 28, 23, 26, 27]`. Bạn muốn tính nhiệt độ trung bình. Biểu thức nào sau đây tính đúng giá trị trung bình?
- A. `sum(temperatures)`
- B. `sum(temperatures) / len(temperatures)`
- C. `avg(temperatures)`
- D. `temperatures.average()`
Câu 29: Cho danh sách `numbers = [5, 2, 8, 1, 9]`. Bạn muốn tìm giá trị nhỏ nhất trong danh sách. Lệnh nào sau đây sẽ trả về giá trị đó?
- A. `numbers.minimum()`
- B. `numbers.get_min()`
- C. `min(numbers)`
- D. `sorted(numbers)[0]`
Câu 30: Bạn có danh sách `data = [10, 20, 30, 40, 50]`. Bạn muốn xóa phần tử có chỉ số là 2 (giá trị 30) khỏi danh sách và không muốn lấy lại giá trị đã xóa. Phương thức nào sau đây phù hợp nhất?
- A. `data.pop(2)` (mặc dù trả về giá trị, nhưng mục đích chính là xóa)
- B. `del data[2]`
- C. `data.remove(30)` (xóa theo giá trị, không theo chỉ số)
- D. `data.clear(2)`