wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Bài tập trắc nghiệm về Dictionary trong Python (Lớp 12)

Total questions: 70

Worksheet time: 35mins

Name
Class
Date
1.

Dictionary trong Python là cấu trúc dữ liệu lưu trữ theo dạng gì?

a)

Danh sách giá trị

b)

Tập hợp không thứ tự

c)

Cặp khóa – giá trị

d)

Mảng hai chiều

2.

Dictionary được khai báo bằng ký hiệu nào?

a)

[]

b)

()

c)

{}

d)

<>

3.

Mỗi khóa (key) trong dictionary phải có tính chất nào?

a)

Có thể thay đổi

b)

Có thứ tự

c)

Bất biến

d)

Là số nguyên

4.

Kiểu dữ liệu nào KHÔNG thể làm key của dictionary?

a)

int

b)

float

c)

tuple

d)

list

5.

Value trong dictionary có thể là kiểu dữ liệu nào?

a)

Số

b)

Chuỗi

c)

List

d)

Tất cả đều đúng

6.

Dictionary có cho phép trùng key không?

a)

b)

Không

c)

Tùy Python

d)

Chỉ khi nhỏ

7.

Khi khai báo trùng key, Python sẽ thực hiện điều gì?

a)

Báo lỗi

b)

Giữ giá trị đầu

c)

Giữ giá trị sau

d)

Bỏ qua

8.

Cách truy cập giá trị trong dictionary là gì?

a)

Theo chỉ số

b)

Theo key

c)

Theo thứ tự

d)

Theo độ dài

9.

Phương thức nào trả về danh sách các key của dictionary?

a)

values()

b)

items()

c)

keys()

d)

get()

10.

dict.keys() trả về kiểu dữ liệu gì?

a)

List

b)

Tuple

c)

Set

d)

Kiểu view

11.

Phương thức nào trả về các giá trị (values) của dictionary?

a)

values()

b)

keys()

c)

items()

d)

pop()

12.

items() trả về điều gì?

a)

List key

b)

List value

c)

Các cặp (key, value)

d)

Dictionary mới

13.

Dictionary có thứ tự không?

a)

Không

b)

Có từ Python 3.7

c)

Chỉ khi nhỏ

d)

Chỉ khi key là số

14.

Dictionary thuộc kiểu dữ liệu nào?

a)

Bất biến

b)

Immutable

c)

Mutable

d)

Không thay đổi

15.

Dictionary phù hợp nhất khi nào?

a)

Truy cập theo vị trí

b)

Truy cập theo key

c)

Lưu dữ liệu có thứ tự

d)

Lưu dữ liệu trùng

16.

Cách tạo dictionary rỗng là gì?

a)

[]

b)

()

c)

{}

d)

set()

17.

Hàm len(dict) trả về điều gì?

a)

Số byte

b)

Số key

c)

Số value

d)

Số phần tử trùng

18.

Kiểu dữ liệu nào sau đây là mutable?

a)

int

b)

tuple

c)

dict

d)

str

19.

Phương thức copy() tạo gì?

a)

Deep copy

b)

Shallow copy

c)

Tham chiếu

d)

Không sao chép

20.

Dictionary có thể lồng nhau không?

a)

Không

b)

c)

Chỉ 2 cấp

d)

Chỉ nếu rỗng

21.

Đoạn code sau in ra gì? d = {1:"A", 2:"B"} print(d.get(3,"C"))

a)

None

b)

KeyError

c)

C

d)

3

22.

Kết quả đoạn code: d = {"a":1} d["b"] = 2 print(len(d))

a)

1

b)

2

c)

3

d)

Lỗi

23.

Lệnh nào gây lỗi?

a)

{(1,2):"A"}

b)

{[1,2]:"A"}

c)

{1:"A"}

d)

{True:"A"}

24.

Kết quả của: d = {1:2, 3:4} d[1] = 5 print(d)

a)

{1:2,3:4}

b)

{1:5,3:4}

c)

{3:4}

d)

Lỗi

25.

Phương thức nào xóa phần tử theo key?

a)

clear()

b)

remove()

c)

pop()

d)

delete()

26.

Kết quả đoạn code: d = {1:"A", 2:"B"} d.pop(1) print(d)

a)

{}

b)

{1:"A"}

c)

{2:"B"}

d)

Lỗi

27.

popitem() có tác dụng gì?

a)

Xóa theo key

b)

Xóa ngẫu nhiên 1 cặp

c)

Xóa toàn bộ

d)

Không xóa

28.

Kết quả: d = {"x":1} d.update({"x":2,"y":3}) print(d)

a)

{"x":1}

b)

{"x":2}

c)

{"x":2,"y":3}

d)

Lỗi

29.

Lệnh nào thêm key mới?

a)

add()

b)

append()

c)

d[key]=value

d)

insert()

30.

Dictionary comprehension đúng là:

a)

{x:x for x in range(5)}

b)

{x:x*x for x in range(5)}

c)

(x:x*x)

d)

{x for x in range(5)}

31.

Kết quả: d = {x:x*x for x in range(3)} print(d[2])

a)

2

b)

3

c)

4

d)

9

32.

Phương thức nào KHÔNG thay đổi dictionary gốc?

a)

pop()

b)

update()

c)

clear()

d)

copy()

33.

Kết quả: d = {"a":1} e = d e["a"] = 2 print(d["a"])

a)

1

b)

2

c)

Lỗi

d)

None

34.

Phương thức nào kiểm tra key tồn tại?

a)

in

b)

has()

c)

exist()

d)

find()

35.

del d["a"] dùng để làm gì?

a)

Xóa dictionary

b)

Xóa key "a"

c)

Gán None

d)

Không tác dụng

36.

Kết quả: d = {"a":1} print("a" in d)

a)

True

b)

False

c)

Lỗi

d)

None

37.

dict.fromkeys([1,2],0) tạo ra gì?

a)

{1:0,2:0}

b)

{1:2}

c)

{0:1,0:2}

d)

Lỗi

38.

Thứ tự duyệt dictionary từ Python 3.7 là gì?

a)

Ngẫu nhiên

b)

Theo thứ tự key tăng dần

c)

Theo thứ tự chèn

d)

Theo value

39.

Giá trị trả về của d.get("x") nếu key không tồn tại là gì?

a)

Lỗi

b)

None

c)

0

d)

False

40.

Hàm dict.clear() trả về gì?

a)

Dictionary mới

b)

None

c)

List rỗng

d)

Tuple rỗng

41.

Độ phức tạp trung bình khi truy cập dictionary theo key là gì?

a)

O(n)O(n)

b)

O(logn)O(\log n)

c)

O(1)O(1)

d)

O(n2)O(n^2)

42.

Dictionary sử dụng cấu trúc dữ liệu nào bên trong?

a)

List

b)

Tree

c)

Hash table

d)

Stack

43.

Khi xảy ra hash collision, Python sẽ làm gì?

a)

Báo lỗi

b)

Ghi đè

c)

Xử lý bằng cơ chế nội bộ

d)

Bỏ key

44.

Vì sao key trong dictionary phải là bất biến?

a)

Để in đẹp

b)

Để hash ổn định

c)

Để nhanh hơn

d)

Để dễ đọc

45.

Để deep copy một dictionary cần dùng hàm nào?

a)

copy()

b)

deepcopy()

c)

clone()

d)

new()

46.

Kết quả của đoạn mã sau là gì? d = {"a":[1,2]} e = d.copy() e["a"].append(3) print(d["a"])

a)

[1, 2]

b)

[3]

c)

[1, 2, 3]

d)

Lỗi

47.

Khi dùng dictionary làm bộ đếm tần suất, thao tác thường dùng là gì?

a)

add()

b)

count()

c)

get(key, 0)+1

d)

append()

48.

defaultdict thuộc module nào?

a)

math

b)

sys

c)

collections

d)

itertools

49.

Ưu điểm của defaultdict là:

a)

Nhanh hơn dict

b)

Không cần kiểm tra key tồn tại

c)

Ít bộ nhớ

d)

Không lỗi

50.

OrderedDict khác dict thường ở điểm:

a)

Có hash

b)

Có thứ tự chèn (Python <3.7)

c)

Nhanh hơn

d)

Không mutable

51.

Trong Python, hàm nào dùng để mở file?

a)

read()

b)

file()

c)

open()

d)

load()

52.

Thứ tự đúng khi làm việc với file trong Python là gì?

a)

Đọc → Mở → Đóng

b)

Mở → Đọc/Ghi → Đóng

c)

Mở → Đóng → Đọc

d)

Ghi → Mở → Đóng

53.

Chế độ mở file mặc định của hàm open() là gì?

a)

w

b)

a

c)

r

d)

rb

54.

Mode 'r' dùng để làm gì?

a)

Chỉ ghi file

b)

Đọc và ghi file

c)

Chỉ đọc file

d)

Ghi tiếp vào file

55.

Mode 'w' có đặc điểm nào sau đây?

a)

Ghi tiếp nội dung vào cuối file

b)

Chỉ đọc file

c)

Ghi file, nếu file tồn tại thì bị xóa nội dung cũ

d)

Báo lỗi nếu file đã tồn tại

56.

Mode 'a' dùng để:

a)

Ghi đè nội dung cũ

b)

Đọc file

c)

Ghi tiếp nội dung vào cuối file

d)

Ghi và đọc file

57.

Mode 'x' có đặc điểm nào?

a)

Ghi tiếp file

b)

Tạo file mới, báo lỗi nếu file đã tồn tại

c)

Ghi đè file cũ

d)

Đọc file

58.

Mode 'b' trong khi mở file có ý nghĩa gì?

a)

Mở file dạng văn bản

b)

Mở file dạng nhị phân

c)

Ghi tiếp file

d)

Đọc từng dòng

59.

Để mở file văn bản với mã hóa UTF-8, ta dùng cú pháp nào đúng?

a)

open("test.txt", "r")

b)

open("test.txt", encoding="ascii")

c)

open("test.txt", mode="r", encoding="utf-8")

d)

open("test.txt", "rb")

60.

Phương thức nào dùng để đóng file?

a)

end()

b)

stop()

c)

close()

d)

exit()

61.

Cách nào an toàn nhất để làm việc với file, đảm bảo file luôn được đóng?

a)

Dùng close()

b)

Dùng try

c)

Dùng finally

d)

Dùng câu lệnh with

62.

Phương thức write() trả về giá trị gì?

a)

Nội dung đã ghi

b)

True hoặc False

c)

Số ký tự được ghi vào file

d)

None

63.

Phương thức read(size) dùng để:

a)

Đọc từng dòng

b)

Đọc size ký tự từ file

c)

Đọc toàn bộ file bất kể size

d)

Ghi dữ liệu vào file

64.

Nếu gọi read() không truyền tham số, kết quả là:

a)

Đọc 1 dòng

b)

Đọc 1 ký tự

c)

Đọc toàn bộ nội dung file

d)

Không đọc gì

65.

Phương thức tell() dùng để:

a)

Đóng file

b)

Trả về vị trí hiện tại của con trỏ file

c)

Đặt lại con trỏ file

d)

Đọc dữ liệu

66.

Phương thức seek(0) có tác dụng gì?

a)

Di chuyển con trỏ đến cuối file

b)

Đưa con trỏ về đầu file

c)

Đóng file

d)

Xóa nội dung file

67.

Phương thức readline() dùng để:

a)

Đọc toàn bộ file

b)

Đọc một dòng trong file

c)

Đọc nhiều dòng

d)

Ghi một dòng

68.

Phương thức readlines() trả về kiểu dữ liệu nào?

a)

Chuỗi

b)

Số nguyên

c)

Danh sách các dòng

d)

Tuple

69.

Phương thức nào dùng để xóa bộ nhớ đệm của file?

a)

clear()

b)

remove()

c)

flush()

d)

truncate()

70.

Phương thức truncate(size) dùng để:

a)

Mở file

b)

Đọc file

c)

Cắt file còn kích thước size

d)

Ghi thêm dữ liệu