wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

CÁC KIỂU DỮ LIỆU PHỨC HỢP (List)

Total questions: 109

Worksheet time: 55mins

Name
Class
Date
1.

Trong Python, danh sách (list) chủ yếu dùng để lưu gì?

a)

Một cấu trúc cây, không có thứ tự

b)

Một bảng băm khóa-giá trị, cố định

c)

Một giá trị số duy nhất, bất biến

d)

Một tập hợp có thứ tự, thay đổi được

2.

Bạn cần lưu điểm của 3 môn cho 2 học sinh. Cách tổ chức dữ liệu nào phù hợp nhất?

a)

Một danh sách hai chiều gồm các danh sách con

b)

Một số nguyên biểu diễn tổng điểm duy nhất

c)

Một chuỗi văn bản ghép các điểm bằng dấu phẩy

d)

Một tập hợp (set) các điểm không lặp

3.

Trong Python, phương thức nào thêm một phần tử vào cuối danh sách?

a)

join thêm vào cuối danh sách

b)

extend thêm vào cuối danh sách

c)

append thêm vào cuối danh sách

d)

insert thêm vào cuối danh sách

4.

Giả sử có danh sách a = [1, 2, 3]. Lệnh nào tạo danh sách b chứa tất cả phần tử của a và thêm [4, 5] vào cuối theo cách nối danh sách?

a)

b = a.append([4, 5])

b)

b = join(a, [4, 5])

c)

b = a + [4, 5]

d)

b = a.extend([4, 5])

5.

Trong Python, dữ liệu nào có tính thứ tự và có thể thay đổi, cho phép phần tử trùng lặp?

a)

List có tính thứ tự và có thể thay đổi

b)

Tuple có tính thứ tự và không thể thay đổi

c)

Set không có thứ tự và không thể thay đổi

d)

Dictionary luôn không có thứ tự và có thể thay đổi

6.

Thuộc tính đúng về tuple trong Python là gì?

a)

Có thứ tự, có thể thay đổi, không lặp lại giá trị

b)

Có thứ tự, bất biến, cho phép giá trị trùng lặp

c)

Không có thứ tự, có thể thay đổi, cho phép trùng lặp

d)

Không có thứ tự, bất biến, không lặp lại giá trị

7.

Phát biểu nào mô tả đúng về set trong Python?

a)

Có thứ tự, có chỉ mục, phần tử duy nhất

b)

Không có thứ tự, có chỉ mục, phần tử trùng lặp

c)

Có thứ tự, không chỉ mục, phần tử trùng lặp

d)

Không có thứ tự, không chỉ mục, phần tử duy nhất

8.

Kể từ Python 3.7, điều nào đúng về dictionary?

a)

Có chỉ mục số và không cho phép khóa trùng

b)

Luôn xáo trộn thứ tự và không thể thay đổi

c)

Duy trì thứ tự chèn nhưng phần tử có thể thay đổi

d)

Không duy trì thứ tự và không thể thêm phần tử

9.

Trong Python, cách nào sau đây để khai báo một list rỗng hợp lệ?

a)

lst = ()

b)

lst = {}

c)

lst = None

d)

lst = []

10.

Cho lst = [2, 5, -1, 5, 8]. Biểu thức len(lst) trả về giá trị nào?

a)

6

b)

4

c)

5

d)

8

11.

Với lst = [5, -3, 12], kết quả của print(lst[0]) là gì?

a)

5

b)

0

c)

12

d)

-3

12.

Với lst = [5, 7, 2, 9, 6, 3, 10, 17, 16], phần tử cuối cùng có thể truy cập bằng chỉ số nào?

a)

1

b)

-1

c)

0

d)

-0

13.

Phát biểu nào đúng về chỉ số âm khi truy cập list trong Python?

a)

Chỉ số âm luôn trả về None

b)

Chỉ số âm trỏ tới đầu list

c)

Chỉ số âm không được phép

d)

Chỉ số âm đếm từ cuối list

14.

Với lst = [2, 5, -1, 5, 8], cách kiểm tra 5 có trong lst là gì?

a)

5 in lst

b)

exist(5, lst)

c)

lst has 5

d)

lst.contains(5)

15.

Cú pháp tổng quát để cắt list lấy dãy liên tục là gì?

a)

list(start..end)

b)

slice(list, start)

c)

list{start:end}

d)

list[start:end:step]

16.

Cho lst = [5, 7, 2, 9, 6, 3, 10, 17, 16]. Kết quả của lst[2:5] là gì?

a)

[7, 2, 9, 6]

b)

[9, 6, 3]

c)

[5, 7, 2]

d)

[2, 9, 6]

17.

Với lst như trên, biểu thức lst[:5] trả về gì?

a)

[5, 7, 2, 9, 6]

b)

[7, 2, 9, 6, 3]

c)

[5, 7]

d)

[6, 3, 10]

18.

Với lst như trên, biểu thức lst[-4:] trả về gì?

a)

[17, 16]

b)

[9, 6, 3, 10]

c)

[3, 10, 17, 16]

d)

[10, 17, 16]

19.

Với lst như trên, biểu thức lst[::-1] tạo ra kết quả nào?

a)

Danh sách giống ban đầu

b)

Danh sách rỗng

c)

Danh sách đảo ngược

d)

Chỉ phần tử đầu tiên

20.

Đoạn mã nào in từng phần tử của lst theo thứ tự xuất hiện?

a)

while lst: print(i)

b)

for x in lst: print(x)

c)

for i in range(lst): print(i)

d)

for i in lst: print(lst[i])

21.

Với lst đã cho, đoạn mã nào in các phần tử theo thứ tự ngược?

a)

for x in lst: print(-x)

b)

for i in reversed(range(lst)): print(i)

c)

for i in range(len(lst)): print(lst[-i])

d)

for i in range(len(lst)-1, -1, -1): print(lst[i])

22.

Cho lst = [5, 7, 2, 9, 6, 3, 10, 17, 16]. Giá trị của lst[-4:-1] là gì?

a)

[10, 17, 16]

b)

[9, 6, 3]

c)

[3, 10, 17]

d)

[17, 16, 5]

23.

Phát biểu nào mô tả đúng len(list) trong Python?

a)

Trả về chỉ số lớn nhất

b)

Trả về dung lượng bộ nhớ

c)

Trả về số phần tử

d)

Trả về phần tử cuối

24.

Cho a = [10, 20, 30, 40]. Chỉ số của phần tử 30 là gì?

a)

0

b)

1

c)

2

d)

3

25.

Với lst = [2, 4, 6, 8], biểu thức lst[2] trả về giá trị nào?

a)

2

b)

4

c)

6

d)

8

26.

Cho a = [10, 20, 30, 40]. Kết quả của a[0] là gì?

a)

40

b)

20

c)

30

d)

10

27.

Giả sử a = [10, 20, 30, 40] và b = a (b tham chiếu cùng danh sách). Sau lệnh b[2] = 35, giá trị của a[2] là gì?

a)

35

b)

40

c)

30

d)

20

28.

Với a = [10, 20, 30, 40] và b = a, sau b[2] = 35, giá trị của b[2] là gì?

a)

35

b)

40

c)

30

d)

20

29.

Nếu a = [10, 20, 30, 40] và b là bản sao nông độc lập của a (b = a[:]), sau b[2] = 35, a[2] có giá trị nào?

a)

35

b)

40

c)

30

d)

20

30.

Cho lst = [5, 7, 2, 9, 6, 3, 10, 17, 16]. Sau phép gán lst[1:2] = [6, 8], độ dài mới của lst là bao nhiêu?

a)

8

b)

9

c)

11

d)

10

31.

Với lst ban đầu [5, 7, 2, 9, 6, 3, 10, 17, 16], sau lst[1:2] = [6, 8], dãy con từ chỉ số 0 đến 3 là gì?

a)

[5, 6, 8, 2]

b)

[5, 7, 6, 8]

c)

[6, 8, 2, 9]

d)

[5, 6, 2, 8]

32.

Cho lst = [5, 7, 2, 9, 6, 3, 10, 17, 16]. Sau lst[1:3] = [7], độ dài mới của lst là bao nhiêu?

a)

7

b)

8

c)

9

d)

10

33.

Sau phép gán lst[1:3] = [7] trên danh sách ban đầu [5, 7, 2, 9, 6, 3, 10, 17, 16], ba phần tử đầu tiên của lst trở thành gì?

a)

[7, 5, 2]

b)

[5, 7, 2]

c)

[5, 7, 9]

d)

[5, 2, 7]

34.

Phát biểu nào đúng về gán phần tử trong List?

a)

a[i] thay đổi chỉ một bản sao

b)

a[i] thay đổi mọi biến cùng tham chiếu

c)

a[i] tạo danh sách mới luôn luôn

d)

a[i] xóa phần tử tại vị trí i

35.

Trong Python, chỉ số âm -1 của danh sách a trỏ tới phần tử nào?

a)

Không phần tử nào

b)

Phần tử cuối cùng

c)

Phần tử giữa danh sách

d)

Phần tử đầu tiên

36.

Đoạn mã nào in từng phần tử của danh sách lst theo cách trực tiếp, không cần chỉ số?

a)

for i in lst: print(lst[i])

b)

while x in lst: print(x)

c)

for i in range(len(lst)): print(i)

d)

for x in lst: print(x)

37.

Khi cần truy cập cả chỉ số lẫn giá trị trong danh sách lst mà vẫn dùng vòng lặp for thuần túy, cách nào đúng và an toàn nhất theo kiến thức cơ bản?

a)

for i in range(len(lst)): print(lst[i])

b)

for x in lst: print(i, x)

c)

for index in lst: print(index, lst[index])

d)

for i, x in lst: print(i, x)

38.

Đoạn nào thể hiện khuôn mẫu tổng quát của List Comprehension có điều kiện?

a)

[for item in iterable: expression if condition]

b)

[expression for item in iterable if condition]

c)

{expression if condition for item in iterable}

d)

(expression for item in iterable if condition)

39.

Kết quả của new_list trong ví dụ: new_list = [x if x % 2 == 0 for x in lst] là gì?

a)

Một danh sách lỗi cú pháp do thiếu else

b)

Một danh sách các số chẵn giữ nguyên giá trị

c)

Một danh sách các số lẻ đã bị loại bỏ

d)

Một danh sách boolean đánh dấu phần tử chẵn

40.

Đoạn while nào duyệt hết danh sách lst một cách chính xác và không lặp vô hạn?

a)

i = 0; while i < len(lst): print(i); i = i

b)

i = 1; while i <= len(lst): print(lst[i]); i += 1

c)

i = 0; while i < len(lst): print(lst[i]); i = i + 1

d)

i = 0; while i <= len(lst): print(lst[i]); i += 1

41.

Đâu là ưu điểm điển hình của list comprehension so với vòng lặp for khi tạo danh sách mới?

a)

Cú pháp ngắn gọn, dễ đọc, tạo danh sách trong một biểu thức

b)

Thực thi luôn nhanh hơn mọi vòng lặp for thông thường

c)

Cho phép đột biến danh sách gốc ngay trong biểu thức

d)

Tự động loại bỏ phần tử trùng lặp không cần điều kiện

42.

Xét lst = [1,2,3,4]. Biểu thức nào in ra chỉ các số chẵn trong lst bằng list comprehension?

a)

[print(x % 2 == 0) for x in lst]

b)

print([x if x % 2 == 0 for x in lst])

c)

[x for x in lst if print(x % 2 == 0)]

d)

[print(x) for x in lst if x % 2 == 0]

43.

Cho lst = [0, 1, 2, 3]. Cú pháp đúng của phương thức chèn phần tử tại vị trí xác định trong list là gì?

a)

list.insert(vị trí, giá trị)

b)

list.extend(vị trí, giá trị)

c)

list.add(vị trí, giá trị)

d)

list.append(vị trí, giá trị)

44.

Với lst = [0, 1, 2, 3], sau khi thực hiện lst.insert(2, 9), giá trị của lst là gì?

a)

[0, 9, 1, 2, 3]

b)

[9, 0, 1, 2, 3]

c)

[0, 1, 9, 2, 3]

d)

[0, 1, 2, 9, 3]

45.

Giả sử lst hiện là [17, 0, 1, 9, 2, 3]. Thực hiện lst.insert(10, 5). Điều nào sau đây đúng nhất?

a)

5 được chèn tại chỉ số 10 chính xác

b)

Lệnh gây lỗi IndexError ngay lập tức

c)

5 được chèn vào cuối danh sách

d)

5 thay thế phần tử ở chỉ số 10

46.

Chọn phát biểu đúng về append với danh sách lst1:

a)

append yêu cầu chỉ số chèn vào

b)

append thêm một phần tử vào cuối lst1

c)

append thêm nhiều phần tử cùng lúc

d)

append thêm phần tử vào giữa danh sách

47.

Cho lst1 = [0, 1, 2, 3]. Sau lst1.append(5) và tiếp theo lst1.append(-6), lst1 là gì?

a)

[0, 1, 2, 3, 5, -6]

b)

[0, 1, 2, 3, -6, 5]

c)

[0, 1, 2, 3, -6]

d)

[0, 1, 2, 3, [5, -6]]

48.

Cho lst1 = [0, 1, 2, 3] và lst2 = [5, 6]. Sau khi thực hiện lst1.append(lst2), kết quả nào đúng?

a)

[0, 1, 2, 3, [5, 6]]

b)

[0, 1, 2, 3, 5, 6]

c)

[[5, 6], 0, 1, 2, 3]

d)

[5, 6, 0, 1, 2, 3]

49.

Chức năng chính của extend trong list là gì?

a)

Xóa phần tử trùng trong danh sách

b)

Thay thế toàn bộ danh sách bằng iterable

c)

Thêm một phần tử đơn vào đầu

d)

Thêm các phần tử từ iterable vào cuối

50.

Cho lst1 = [0, 1, 2, 3] và lst2 = [4, 5]. Sau khi lst1.extend(lst2), lst1 trở thành:

a)

[0, 1, 2, 3, 4, 5]

b)

[0, 1, 2, 3, [4, 5]]

c)

[[4, 5], 0, 1, 2, 3]

d)

[4, 5, 0, 1, 2, 3]

51.

Bạn cần thêm các phần tử 4 và 5 vào cuối lst = [0, 1, 2, 3]. Lựa chọn nào tạo ra danh sách phẳng như mong muốn?

a)

lst.insert(-1, [4, 5])

b)

lst.insert(4, [4, 5])

c)

lst.append([4, 5])

d)

lst.extend([4, 5])

52.

Giả sử lst = [1, 2, 3]. Hãy chọn cặp phương thức phù hợp với mục tiêu: A) thêm 99 ở vị trí đầu, B) thêm các phần tử của tuple t = (7, 8) vào cuối danh sách.

a)

A: insert(0, 99); B: extend(t)

b)

A: extend(0, 99); B: append(t)

c)

A: append(0, 99); B: insert(t)

d)

A: insert(99); B: extend([t])

53.

Trong Python, phương thức nào xóa phần tử theo GIÁ TRỊ xuất hiện đầu tiên trong list?

a)

remove(x)

b)

clear()

c)

pop()

d)

del lst[i]

54.

Kết quả sau đoạn mã: lst = [0,1,2,3,4,5,3]; lst.remove(1); print(lst). Danh sách in ra là gì?

a)

[0,1,2,3,4,5]

b)

[0,2,3,4,3,5]

c)

[0,2,3,4,5,3]

d)

[1,2,3,4,5,3]

55.

Tiếp tục từ lst = [0,2,3,4,5,3]; lst.remove(2); print(lst). Kết quả in ra là gì?

a)

[3,4,5,3,0]

b)

[0,3,4,5,3]

c)

[0,2,4,5,3]

d)

[0,2,3,4,5]

56.

Gọi lst = [0,1,2,3]; sau khi thực hiện lst.pop(1), danh sách còn lại là gì?

a)

[0,2,3]

b)

[1,2,3]

c)

[0,1,3]

d)

[2,3]

57.

Với lst = [0,1,2,3]; lệnh lst.pop() thực hiện điều gì?

a)

Xóa phần tử cuối danh sách

b)

Xóa phần tử đầu danh sách

c)

Xóa tất cả phần tử

d)

Xóa phần tử có giá trị 0

58.

Cho lst = [0,1,2,3]; sau khi lst.pop(); print(lst), kết quả là gì?

a)

[0,1,3]

b)

[0,1,2]

c)

[0,2,3]

d)

[1,2,3]

59.

Với lst = [0,1,2,3]; lệnh lst.pop(-1) cho kết quả tương đương với lựa chọn nào sau đây?

a)

Xóa phần tử cuối danh sách

b)

Xóa phần tử đầu danh sách

c)

Xóa phần tử có giá trị âm

d)

Xóa phần tử có chỉ số ngoài phạm vi

60.

Với lst = [0,1,2,3]; lệnh nào sẽ xóa toàn bộ phần tử, giữ nguyên đối tượng list?

a)

lst.remove(0)

b)

del lst

c)

lst.clear()

d)

lst.pop()

61.

Sau khi thực hiện: lst = [0,1,2,3]; lst.clear(); print(lst). Kết quả là gì?

a)

[]

b)

None

c)

[0]

d)

[0,1,2]

62.

Chọn phát biểu đúng về sự khác nhau giữa remove và pop trong Python.

a)

remove xóa cuối; pop xóa đầu danh sách

b)

remove nhanh hơn mọi trường hợp

c)

remove xóa tất cả; pop không xóa gì

d)

remove xóa theo giá trị; pop xóa theo chỉ số

63.

Cho lst = [0, 1, 2, 3]. Lệnh nào xóa phần tử có chỉ số 1?

a)

del lst[1]

b)

lst.del[1]

c)

remove lst[1]

d)

del lst(1)

64.

Sau các lệnh sau, kết quả print(lst) là gì? lst = [0, 1, 2, 3] del lst[1] del lst[-1] print(lst)

a)

[2, 3]

b)

[1, 2]

c)

[0, 2]

d)

[0, 3]

65.

Xét lst = [0, 1, 2, 3]. Thực hiện del lst[-5] sẽ dẫn đến điều gì?

a)

Không làm gì và tiếp tục chương trình

b)

Xóa phần tử đầu danh sách thành công

c)

Tự động chuyển thành del lst[0]

d)

Gây IndexError do chỉ số âm ngoài phạm vi

66.

Giả sử đã khai báo lst = [0, 1, 2, 3]. Sau khi chạy del lst, thao tác nào sau đây sẽ xảy ra nếu gọi print(lst)?

a)

Gây NameError vì biến lst không còn tồn tại

b)

In ra [] vì danh sách bị rỗng

c)

In ra [0, 1, 2, 3] như ban đầu

d)

In ra None do đối tượng bị hủy

67.

Cho list lst = ["Orange", "mango", "Kiwi", "pineapple", "banana"]. Kết quả của lệnh lst.sort() là gì? (Python sắp xếp mặc định phân biệt hoa thường).

a)

['Orange', 'Kiwi', 'banana', 'mango', 'pineapple']

b)

['Kiwi', 'Orange', 'banana', 'mango', 'pineapple']

c)

['pineapple', 'mango', 'Orange', 'Kiwi', 'banana']

d)

['banana', 'Kiwi', 'mango', 'Orange', 'pineapple']

68.

Với list chuỗi lst = ["Orange", "mango", "Kiwi", "pineapple", "banana"], lệnh nào sắp xếp tăng dần KHÔNG phân biệt hoa thường?

a)

lst.sort(reverse=True)

b)

lst.reverse()

c)

lst.sort(key=str.lower)

d)

sorted(lst, reverse=True)

69.

Điểm khác biệt chính giữa list.sort() và hàm sorted(iterable) là gì?

a)

sort chỉ cho chuỗi, sorted chỉ cho số

b)

sort cần key, sorted không cho phép key

c)

sort sửa list tại chỗ, sorted trả list mới

d)

sort luôn giảm dần, sorted luôn tăng dần

70.

Cú pháp nào dùng để sắp xếp giảm dần một list số nguyên nums?

a)

nums.sort(key=str.lower)

b)

sorted(nums, key=str.lower)

c)

nums.reverse(key=True)

d)

nums.sort(reverse=True)

71.

Cho lst = ["Orange", "mango", "Kiwi", "pineapple", "banana"]. Sau khi gọi lst.reverse(), thứ tự phần tử là gì?

a)

['Kiwi', 'Orange', 'banana', 'mango', 'pineapple']

b)

['Orange', 'mango', 'Kiwi', 'pineapple', 'banana']

c)

['banana', 'pineapple', 'Kiwi', 'mango', 'Orange']

d)

['banana', 'Kiwi', 'mango', 'Orange', 'pineapple']

72.

reverse() và sort() khác nhau thế nào về mục đích thao tác trên list?

a)

reverse tạo list mới, sort không thay đổi list

b)

reverse yêu cầu key, sort không hỗ trợ key

c)

reverse sắp xếp tăng dần, sort đảo ngẫu nhiên

d)

reverse đảo thứ tự hiện tại, sort sắp xếp theo thứ tự

73.

Khi gán lst2 = lst1 rồi sửa lst2[0] = 99, điều gì có thể xảy ra?

a)

Python tự động tạo deep copy cho lst2

b)

lst1 cũng thay đổi vì cùng tham chiếu

c)

Chỉ lst2 thay đổi vì là bản sao độc lập

d)

Cả hai đều lỗi vì gán sai kiểu

74.

Cách nào tạo bản sao nông (shallow copy) độc lập của list lst1?

a)

lst2 = reversed(lst1)

b)

lst2 = copy.deepcopy(lst1)

c)

lst2 = lst1

d)

lst2 = lst1.copy()

75.

Với lst1 = [5, 7, 2, 9], sau các lệnh: lst2 = lst1.copy(); lst1.sort(); Kết quả nào đúng?

a)

lst1 được sắp xếp, lst2 giữ thứ tự ban đầu

b)

Cả lst1 và lst2 đều bị sắp xếp giống nhau

c)

lst1 không đổi, lst2 được sắp xếp tăng dần

d)

lst2 bị đảo ngược, lst1 không ảnh hưởng

76.

Bạn cần sắp xếp danh sách tên người nhưng bỏ qua hoa thường. Lựa chọn nào hợp lý và ngắn gọn nhất?

a)

sorted(names, reverse=True)

b)

names.sort(key=len)

c)

names.reverse()

d)

names.sort(key=str.lower)

77.

Trong Python, cách nào dưới đây tạo một list mới chứa các phần tử của cả hai list ban đầu?

a)

Gọi append với hai đối số

b)

Dùng toán tử + giữa hai list

c)

Gán list1 = list2 trực tiếp

d)

Gọi extend không có tham số

78.

Chọn nhận định đúng về sự khác nhau giữa append và extend khi làm việc với list.

a)

append thêm một phần tử, extend thêm nhiều phần tử

b)

append hợp nhất hai list, extend tạo bản sao

c)

append yêu cầu toán tử +, extend không cần

d)

append chỉ dùng cho số nguyên, extend cho chuỗi

79.

Giả sử có list a = [1,2] và b = [3,4]. Kết quả nào đúng khi thực hiện a.extend(b)?

a)

a trở thành [1,2,3,4]

b)

a trở thành [[3,4],1,2]

c)

a không đổi và b thêm [1,2]

d)

a trở thành [1,2] và b xóa mất

80.

Trong Python, cấu trúc dữ liệu nào phù hợp để biểu diễn ma trận 2D gồm các hàng và cột?

a)

Tuple lồng nhau cố định chiều

b)

List lồng nhau (list của list)

c)

Set chứa các phần tử duy nhất

d)

Dict với khóa là chỉ số hàng

81.

Cho ma trận 2D matrix được khai báo như sau: matrix = [[100,14,8,22,71],[0,243,68,1,30],[90,21,7,67,112],[115,200,70,150,8]]. Phần tử ở hàng 2, cột 4 (chỉ số bắt đầu từ 0) là bao nhiêu?

a)

21

b)

30

c)

150

d)

67

82.

Đoạn mã nào duyệt và in từng phần tử của 2D list theo từng dòng?

a)

while matrix: print(matrix.pop())

b)

for i in range(matrix): print(i)

c)

for x in matrix: print(matrix[x])

d)

for row in matrix: for x in row: print(x, end=' ') print()

83.

Ý nghĩa của sơ đồ 'Internal Representation' của 2D list là gì?

a)

Python ép kiểu tất cả phần tử về int

b)

Một biến trỏ đến mảng phẳng một chiều

c)

Các phần tử được lưu liên tiếp như mảng tĩnh

d)

Mỗi hàng là một list độc lập được tham chiếu

84.

Khi in print(matrix) với matrix là 2D list, kết quả thường hiển thị như thế nào?

a)

Từng phần tử in trên dòng riêng lẻ

b)

Chuỗi các số cách nhau bởi khoảng trắng

c)

Một bảng định dạng cột tự động

d)

Danh sách các danh sách theo cú pháp list

85.

Với row = 5 và column = 3, câu lệnh lst = [[0] * column] * row tạo ra điều gì?

a)

Năm list độc lập chứa ba số 0

b)

Một list phẳng gồm mười lăm số 0

c)

Một tuple bất biến gồm các list

d)

Năm tham chiếu tới cùng một list ba phần tử

86.

Hệ quả khi gán lst[0][0] = 1 sau khi tạo lst = [[0] * column] * row là gì?

a)

Toàn bộ list bị thay thế bằng số 1

b)

Các hàng đều thay đổi phần tử đầu thành 1

c)

Cột đầu thay đổi nhưng hàng cuối giữ nguyên

d)

Chỉ hàng đầu thay đổi phần tử đầu thành 1

87.

Cách khởi tạo 2D list 5x3 mà các hàng độc lập với nhau là gì?

a)

[0] * (5 * 3)

b)

list(0 for _ in range(15))

c)

[[0] * 3] * 5

d)

[[0 for _ in range(3)] for _ in range(5)]

88.

Trong chương trình Python đếm số phần tử âm, biến nào thường dùng để lưu danh sách các số thực đã nhập?

a)

i

b)

n

c)

ds

d)

dem

89.

Đoạn mã nào dưới đây đếm đúng số phần tử âm trong danh sách ds đã có sẵn?

a)

dem=0; for x in ds: if x<0: dem+=1

b)

dem=0; for i in ds: if ds[i]<0: dem+=1

c)

dem=0; for i in range(ds): if ds[i]<0: dem+=1

d)

dem=0; for i in range(len(ds)): if ds[i]<=0: dem+=1

90.

Giả sử người dùng nhập n=5 và lần lượt các giá trị: 3.0, -1.2, 0, -4, 2.5. Chương trình in ra giá trị nào cho số phần tử âm?

a)

0

b)

3

c)

1

d)

2

91.

List a gồm các số thực: [1.5, -2.0, 3.0, 4.5]. Tổng các phần tử của a là bao nhiêu?

a)

6.5

b)

7.0

c)

5.0

d)

8.0

92.

Cho list b = [2, 4, 6, 8]. Giá trị trung bình cộng của b là gì?

a)

6.0

b)

5.5

c)

4.5

d)

5.0

93.

Trong Python, để lấy vị trí phần tử âm đầu tiên của list x, cách nào đúng nhất?

a)

Sắp xếp rồi lấy phần tử đầu tiên

b)

Dùng sum để kiểm tra âm trước

c)

Dùng x.index với điều kiện âm trực tiếp

d)

Duyệt tuần tự, trả về chỉ số đầu tiên âm

94.

Với list số thực y và số nguyên dương k, tác vụ "tìm vị trí phần tử âm thứ k" phù hợp nhất với mô tả nào?

a)

Duyệt y, đếm phần tử âm, trả về chỉ số thứ k

b)

Dùng sort để nhóm âm rồi lấy chỉ số k

c)

Dùng max để lấy âm thứ k

d)

Dùng len để xác định âm thứ k

95.

Cho list số nguyên c = [1, 2, 3, 4, 5, 6]. Danh sách số chẵn cần in ra là gì?

a)

[1, 3, 5]

b)

[1, 2, 3]

c)

[4, 5, 6]

d)

[2, 4, 6]

96.

List d = [2, 3, 4, 5, 6, 7]. Danh sách số nguyên tố trong d là gì?

a)

[2, 5, 7]

b)

[2, 3, 4, 5]

c)

[3, 5, 7]

d)

[2, 3, 5, 7]

97.

Bạn có list bất kỳ e và giá trị k. Nhiệm vụ: kiểm tra e có chứa k không, nếu có thì xóa tất cả k. Cách thực hiện đơn giản nhất là gì?

a)

Sắp xếp rồi pop phần tử đầu

b)

Dùng vòng lặp while và remove liên tiếp

c)

Dùng max rồi loại bỏ

d)

Dùng sum để phát hiện và xóa

98.

Để xuất danh sách các phần tử không trùng lặp (chỉ xuất hiện duy nhất một lần) từ list g, cách nào khả dĩ nhất?

a)

Lấy các phần tử lớn hơn trung bình

b)

Sắp xếp rồi lấy phần tử đầu

c)

Chuyển g sang set rồi in toàn bộ

d)

Đếm tần suất từng phần tử và chọn count==1

99.

Với list số thực p, yêu cầu "sắp xếp tăng dần toàn bộ list" tương ứng với thao tác nào?

a)

p.sort()

b)

sorted(p, reverse=True)

c)

p.reverse()

d)

sum(p).sort()

100.

Với list số thực q, nhiệm vụ "sắp xếp các phần tử âm giảm dần" phù hợp nhất với đoạn mô tả nào?

a)

Dùng sort toàn list reverse=True

b)

Lọc âm rồi sort(reverse=True) ghép lại

c)

Dùng abs để sort toàn bộ

d)

Dùng max để chọn từng âm

101.

Yêu cầu: sắp xếp phần tử âm tăng dần và dương giảm dần trong cùng một list r. Cách tiếp cận hợp lý?

a)

Tách âm,dương; sort riêng; ghép theo vị trí

b)

Sort toàn bộ rồi đảo nửa sau

c)

Dùng sum để xác định thứ tự

d)

Dùng một lần sort với key duy nhất

102.

Cho list số thực s. Yêu cầu: phần tử lẻ giảm dần, chẵn tăng dần. Mô tả đúng nhất là gì?

a)

Lọc chẵn rồi bỏ lẻ

b)

Dùng reverse hai lần liên tiếp

c)

Sort toàn bộ tăng rồi in

d)

Tách lẻ,chẵn; sort phù hợp; ghép lại

103.

Cho list số nguyên t và số k≥0. Nhiệm vụ: tìm tất cả ước số và bội số của k trong t. Cách đúng?

a)

Lọc với điều kiện k%x==0 hoặc x%k==0

b)

Dùng sort trước khi lọc

c)

Dùng pow để kiểm tra

d)

Dùng random để chọn

104.

Nhiệt độ 7 ngày: [30, 32, 28, 31, 33, 29, 30]. Nhiệt độ trung bình tuần là bao nhiêu?

a)

30.00

b)

29.86

c)

31.00

d)

30.43

105.

Với dãy nhiệt độ tuần trên, có bao nhiêu ngày cao hơn nhiệt độ trung bình?

a)

3

b)

2

c)

4

d)

5

106.

Khởi tạo list n phần tử (n≥0). Không dùng max/min, tìm giá trị lớn nhất. Cách nào phù hợp?

a)

Dùng sum rồi chia n

b)

Sắp xếp rồi lấy phần tử giữa

c)

Dùng abs cho từng phần tử

d)

Duyệt, giữ biến best, so sánh dần

107.

Hàm nhận n và trả về list các số tự nhiên từ 0 đến n-1. Cách viết Python đúng nhất?

a)

range(1,n)

b)

list(range(n))

c)

list(n)

d)

[1..n]

108.

Với n, trả về list bình phương các số tự nhiên nhỏ hơn n. Lựa chọn nào đúng?

a)

pow(range(n),2)

b)

i2foriinrange(n)i^2 for i in range(n)

c)

[i*i for i in range(n)]

d)

map(pow, n)

109.

Bài toán đổi xu: N=4, S={1,2,3}. Có bao nhiêu cách đổi?

a)

4

b)

3

c)

6

d)

5