Font size
WorksheetsMục tiêu bài học
Total questions: 86
Worksheet time: 43mins
Trong Python, cấu trúc dữ liệu nào là bất biến nhưng có thể chứa phần tử trùng lặp?
List, bất biến, phần tử duy nhất
Set, bất biến, không trùng lặp
Tuple, bất biến, cho phép trùng lặp
Dictionary, bất biến, khóa trùng lặp
Bạn cần lưu các khóa duy nhất ánh xạ tới giá trị và thực hiện các thao tác chèn, gán, xóa. Cấu trúc nào phù hợp nhất?
List cho khóa duy nhất và ánh xạ
Dictionary cho ánh xạ khóa–giá trị
Set cho lưu cặp khóa–giá trị
Tuple cho ánh xạ khóa–giá trị
Trong Python, kiểu tập hợp nào vừa có thứ tự, vừa cho phép thay đổi và chấp nhận giá trị trùng lặp?
List có thứ tự, thay đổi, chấp nhận trùng lặp
Tuple có thứ tự, thay đổi, không chấp nhận trùng lặp
Set không thứ tự, thay đổi, chấp nhận trùng lặp
Dictionary có thứ tự, thay đổi, chấp nhận trùng lặp
Từ Python 3.7 trở đi, đặc điểm nào đúng với dictionary?
Có thứ tự duy trì khi chèn các cặp khóa–giá trị
Không có thứ tự, chỉ lưu tập giá trị duy nhất
Không có chỉ mục và loại bỏ giá trị trùng lặp
Có thứ tự nhưng không thể cập nhật phần tử
Phát biểu nào mô tả đúng về set trong Python?
Không có thứ tự, không chỉ mục, phần tử không trùng lặp
Có thứ tự, không thay đổi, phần tử có thể trùng lặp
Không có thứ tự, có thể trùng lặp, cho phép chỉ mục
Có thứ tự, thay đổi, cho phép giá trị trùng lặp
Bạn cần cấu trúc lưu trữ các giá trị theo thứ tự, không thể thay đổi sau khi tạo, nhưng vẫn có thể chứa giá trị trùng lặp. Nên chọn kiểu nào?
Set vì có thứ tự, bất biến, loại bỏ trùng lặp
Dictionary vì không thứ tự, bất biến, cho phép trùng lặp
List vì có thứ tự, bất biến, không cho phép trùng lặp
Tuple vì có thứ tự, bất biến, cho phép trùng lặp
Trong Python, tuple là gì?
Cấu trúc dữ liệu có thứ tự, bất biến
Danh sách có thứ tự, có thể thay đổi
Tập hợp không có thứ tự, có thể thay đổi
Chuỗi ký tự có thể sửa từng phần
Ký hiệu nào được dùng để tạo tuple?
Ngoặc nhọn với dấu chấm
Ngoặc vuông với dấu phẩy
Ngoặc tròn với dấu phẩy
Dấu nháy đơn liền nhau
Chỉ số (index) của phần tử trong tuple bắt đầu từ đâu?
Bắt đầu từ 0 bên phải
Bắt đầu từ 1 bên trái
Bắt đầu từ 1 bên phải
Bắt đầu từ 0 bên trái
Cho tuple1 = (1, 2, 3, 4, 5, 6, 7). Kết quả len(tuple1) là bao nhiêu?
6 phần tử
7 phần tử
9 phần tử
8 phần tử
Đặc điểm nào đúng về khả năng thay đổi của tuple sau khi tạo?
Chỉ xóa được từng phần tử
Không thể thay đổi giá trị
Có thể thêm và xóa tự do
Chỉ thêm được ở cuối
Lệnh del áp dụng lên một biến tuple sẽ cho kết quả gì?
Xóa phần tử cuối cùng
Không có tác dụng
Xóa toàn bộ biến tuple
Xóa phần tử đầu tiên
Cách tạo một tuple rỗng là gì?
tup1 = tuple(0)
tup1 = {}
tup1 = []
tup1 = ()
Trong Python, đặc điểm quan trọng của tuple khiến ta không thể gán lại phần tử trực tiếp là gì?
Tính tự động mở rộng dung lượng
Tính có thể lặp vô hạn
Tính bất biến của tuple
Tính tự sắp xếp phần tử
Cho tuple1 = (1, 2, 3, 4, 5, 6, 7). Muốn thay đổi giá trị phần tử đầu tiên thành 8, cách đúng là gì?
Dùng method replace trên tuple
Chuyển tuple1 thành list rồi gán
Xóa tuple1 và tạo lại bằng print
Gán trực tiếp tuple1[0] = 8
Kết quả in ra của đoạn mã: tuple1=(1,2,3,4,5,6,7); list1=list(tuple1); list1[0]=8; tuple1=tuple(list1); print(tuple1) là gì?
[8, 2, 3, 4, 5, 6, 7]
(8, 1, 2, 3, 4, 5, 6)
(1, 2, 3, 4, 5, 6, 7)
(8, 2, 3, 4, 5, 6, 7)
Cho tuple1=(1,2,3,4,5,6,7) và tuple2=(8,). Sau câu lệnh tuple1 += tuple2, giá trị mới của tuple1 là gì?
(8, 1, 2, 3, 4, 5, 6, 7)
(1, 2, 3, 4, 5, 6, 8)
(1, 2, 3, 4, 5, 6, 7, 8)
(1, 2, 3, 4, 5, 6, 7)
Đoạn mã s=(1,2,3); f=(4); s=s+f gây lỗi vì lý do nào dưới đây?
f không phải tuple một phần tử
s không thể thay đổi kích thước
Cần ép kiểu cả hai về list
Phép cộng tuple chỉ áp dụng cho int
Trong Python, thao tác tách giá trị ra khỏi một tuple được gọi là gì?
Slicing (cắt lát)
Packing (đóng gói)
Unpacking (mở gói)
Mapping (ánh xạ)
Cho friends = ('Tí','Tèo','Tủn','Tín'). Sau phép (Ti, Teo, *AnhEm) = friends, giá trị biến AnhEm là gì?
('Tủn','Tín') dạng tuple
['Tủn','Tín'] dạng list
'Tủn Tín' dạng chuỗi
{'Tủn','Tín'} dạng set
Phép gán (Ti, Teo, Tun, Tin) = friends sẽ gán giá trị nào cho biến Tun?
Giá trị thứ hai 'Tèo'
Giá trị cuối cùng 'Tín'
Giá trị đầu tiên 'Tí'
Giá trị thứ ba 'Tủn'
Với tuple1 = (1, 2, 3, 2, 5, 4, 2), kết quả tuple1.count(2) là bao nhiêu?
2 lần xuất hiện
1 lần xuất hiện
3 lần xuất hiện
4 lần xuất hiện
Với tuple1 = (1, 2, 3, 2, 5, 4, 2), gọi tuple1.index(8) sẽ gây ra điều gì?
Ném ValueError ngoại lệ
Trả về 0 mặc định
Tự thêm 8 vào tuple
Trả về -1 vì không tìm thấy
Kết quả của biểu thức (1, 2) + (3, 4) trong Python là gì?
(1, 2, 3, 4)
(1, 2) + (3, 4)
((1, 2), (3, 4))
(4, 3, 2, 1)
Cho t = ('Hi!',) * 3. Độ dài của t là bao nhiêu?
3
2
4
1
Biểu thức 5 in (1, 3, 5, 7) trả về giá trị nào?
Error
True
False
None
Chọn câu lệnh in ra lần lượt các phần tử 1, 2, 3 từ một tuple:
for (1, 2, 3) in x: print(x)
print(for x in (1, 2, 3))
print(x for x in (1, 2, 3))
for x in (1, 2, 3): print(x)
Giá trị của len((0,)) + len((1, 2, 3)) là bao nhiêu?
3
4
5
2
Trong Python, đặc điểm nào mô tả đúng về set?
Có thứ tự, có thể thay đổi
Có chỉ mục, không thể thay đổi
Không thứ tự, không cho phép trùng lặp
Có thứ tự, cho phép trùng lặp
Đoạn mã nào khai báo một set chứa các số 1 đến 5?
myset = [1, 2, 3, 4, 5]
myset = {1, 2, 3, 4, 5}
myset = set((1, 2, 3, 4, 5))
myset = (1, 2, 3, 4, 5)
Kết quả của len({1, 2, 2, 3, 3}) là bao nhiêu?
5 phần tử
2 phần tử
3 phần tử
4 phần tử
Trong set Python, giá trị nào sau đây được xem là cùng một giá trị?
False và 0 không thể thêm vào set
True và 1 được xem là cùng giá trị
False và 0 khác nhau hoàn toàn
True và 1 khác nhau hoàn toàn
Quan sát hình minh họa: Vì sao không thể lấy phần tử thứ 2 của một set bằng cú pháp myset[1] trong Python?
Vì set không hỗ trợ truy cập theo index hoặc key
Vì set yêu cầu dùng phương thức get để truy cập
Vì set luôn rỗng sau khi khởi tạo mặc định
Vì set chỉ chứa các phần tử dạng chuỗi ký tự
Dựa trên ví dụ: myset = {1, 2, 3, 4, 5}. Cách phù hợp để in từng phần tử của set là gì?
Gọi myset.get(i) cho từng i từ 0 đến 4
Sử dụng myset[0], myset[1] để in lần lượt
Dùng vòng lặp for: for x in myset: print(x)
Chuyển set thành list rồi truy cập bằng chỉ số bắt buộc
Trong Python, phương thức nào dùng để thêm một phần tử đơn lẻ vào set?
append() dành cho list, không cho set
update() chỉ cho nhiều phần tử
add() được dùng cho phần tử đơn
insert() dành cho list, không cho set
Cho myset1 = {1,2,3,4,5}. Sau myset1.add(6), lựa chọn nào mô tả đúng trạng thái set?
{1,2,3,4,5,6,6} có phần tử trùng lặp
{1,2,3,4,5,6} giữ thứ tự tăng dần
{1,2,3,4,5} không thay đổi sau add
{1,2,3,4,5,6} không giữ thứ tự
Phương thức update() hoạt động thế nào khi nguồn là list hoặc tuple chứa [6,7] hoặc (6,7)?
Chỉ thêm phần tử đầu tiên của nguồn
Chuyển thành chuỗi rồi thêm ký tự
Thêm cả list hoặc tuple như một phần tử
Thêm từng phần tử 6 và 7 vào set
Giả sử myset1 = {1,2,3,4,5}. Sau myset1.update({6,7}); myset1.update([6,7]); myset1.update((6,7)); kết quả đúng là gì?
{1,2,3,4,5,6,7} không có phần tử trùng
{1,2,3,4,5} không thêm gì từ update
{1,2,3,4,5,(6,7)} thêm tuple làm phần tử
{1,2,3,4,5,6,7,6,7} có trùng lặp
Trong Python, phương thức nào xóa phần tử cụ thể trong set và sẽ phát sinh lỗi nếu phần tử không tồn tại?
clear() xóa toàn bộ phần tử
discard(value) không phát sinh lỗi
remove(value) phát sinh lỗi khi không có
pop() luôn xóa phần tử đầu tiên
Giả sử myset = {1, 2, 3, 4, 5}. Sau lệnh myset.discard(3); print(myset) sẽ in ra gì?
{1, 2, 3, 4, 5} giữ nguyên
{1, 2, 4, 5} không có 3
{} set rỗng sau discard
Lỗi KeyError vì 3 bị xóa
Với myset = {1, 2, 3, 4, 5}, thực hiện myset.discard(7); print(myset). Kết quả đúng nhất là gì?
{1, 2, 4, 5} vì discard xóa ngẫu nhiên
{} vì discard xóa toàn bộ
Lỗi KeyError do phần tử 7 thiếu
{1, 2, 3, 4, 5} vì 7 không tồn tại
Chọn phát biểu đúng về pop() khi áp dụng cho set trong Python.
pop() xóa phần tử theo chỉ số
pop() xóa một phần tử ngẫu nhiên
pop() xóa toàn bộ phần tử
pop() chỉ hoạt động với list
Sau khi thực hiện liên tiếp: myset = {1, 2, 3, 4, 5}; myset.remove(2); print(myset). Kết quả là gì?
{1, 3, 4, 5} đã xóa 2
{} vì remove xóa toàn bộ
{1, 2, 3, 4, 5} giữ nguyên
Lỗi vì remove không tồn tại
Cho x = {"apple", "banana", "cherry"} và y = {"google", "microsoft", "apple"}. Kết quả của z = x.union(y) là gì?
{"apple", "banana", "cherry", "google", "microsoft"}
{"banana", "cherry", "google", "microsoft"}
{"apple", "google", "microsoft"}
{"apple", "banana", "cherry", "google"}
Toán tử nào tương đương với phương thức union() khi kết hợp hai set trong Python?
x - y
x & y
x | y
xy
Cho x = {"apple", "banana", "cherry"} và y = {"google", "microsoft", "apple"}. Giá trị của x & y là gì?
{"apple", "banana", "cherry"}
{"banana", "cherry"}
{"apple"}
{"google", "microsoft"}
Phương thức nào sẽ cập nhật trực tiếp set x bằng phần giao với set y?
update(y)
difference_update(y)
symmetric_difference(y)
intersection_update(y)
Cho x = {"apple", "banana", "cherry"} và y = {"google", "microsoft", "apple"}. Kết quả của x.difference(y) là gì?
{"banana", "cherry", "google"}
{"banana", "cherry"}
{"apple"}
{"google", "microsoft"}
Toán tử nào tương đương với difference(set) khi trừ phần tử của y khỏi x?
x & y
x - y
x | y
xy
Giả sử x = {"apple", "banana", "cherry"} và y = {"google", "microsoft", "apple"}. Sau khi thực hiện x.difference_update(y), giá trị của x là gì?
{"banana", "cherry", "apple"}
{"google", "microsoft"}
{"banana", "cherry"}
{"apple"}
Phép toán nào trả về các phần tử xuất hiện trong đúng một trong hai set (không thuộc giao)?
difference_update()
symmetric_difference()
intersection()
union()
Trong Python, đặc điểm nào đúng về dictionary?
Không có thứ tự, cố định, key trùng lặp
Không có thứ tự, có thể thay đổi, key tùy ý
Có thứ tự, có thể thay đổi, key duy nhất
Có thứ tự, bất biến hoàn toàn, key bất kỳ
Mỗi phần tử trong dictionary được gọi là gì?
Một item gồm cặp key:value
Một record gồm value:key
Một tuple gồm key, key
Một list gồm nhiều values
Chọn cú pháp truy cập giá trị theo khóa trong ví dụ myinfo = {"name":"Tran","age":37,"address":"Vietnam"}
myinfo["age"] trả về 37
myinfo.age trả về 37
myinfo("age") trả về 37
myinfo.gets("age") trả về 37
Phát biểu nào đúng về các key trong dictionary?
Các key có thể trùng nếu khác value
Key luôn là số nguyên duy nhất
Key phải là chuỗi và có thể lặp
Tất cả các key phải là duy nhất
Chọn câu khai báo dictionary hợp lệ bằng dấu ngoặc nhọn.
mydict = <"name": "Tran", "age": 37, "country": "Vietnam">
mydict = ("name": "Tran", "age": 37, "country": "Vietnam")
mydict = ["name": "Tran", "age": 37, "country": "Vietnam"]
mydict = {"name": "Tran", "age": 37, "country": "Vietnam"}
Với mydict = dict(name="Tran", age=37, country="Vietnam"), kết quả của len(mydict) là bao nhiêu?
2 khóa trong dictionary
3 khóa trong dictionary
4 khóa trong dictionary
1 khóa trong dictionary
Cho mydict = {'name':'Tran','age':37,'country':'Vietnam'}. Lệnh nào trả về giá trị 37?
mydict.get('name')
mydict.values()['age']
'age' in mydict
mydict['age']
Phương thức nào trả về danh sách các cặp (key, value) dưới dạng tuples?
items()
values()
keys()
get()
Với mydict như trên, biểu thức nào an toàn để truy xuất 'age' khi có thể thiếu key và muốn nhận None nếu không có?
mydict.items()['age']
'age' not in mydict
mydict['age']
mydict.get('age')
Kết quả của print(mydict.keys()) gần nhất với mô tả nào?
Một tuple chứa các cặp key value
Một list giá trị theo thứ tự chèn
Một số nguyên là số lượng keys
Một đối tượng dict_keys liệt kê các keys
Bạn cần kiểm tra xem key 'country' tồn tại trong mydict trước khi truy xuất. Cách nào đúng và ngắn gọn nhất?
if mydict.values('country'):
if mydict.get('country') is False:
if 'country' in mydict:
if mydict['country']:
Giả sử mydict = {'name':'Tran','age':37,'country':'Vietnam'}. Đoạn mã nào in ra tất cả giá trị: 'Tran', 37, 'Vietnam'?
for k in mydict.keys(): print(k)
for v in mydict.values(): print(v)
print(mydict.get('values'))
for k,v in mydict.items(): print(k)
Trong Python, thao tác nào cập nhật giá trị cho khóa 'name' trong mydict một cách trực tiếp?
mydict['name'] = 'Quang'
mydict.push({'name':'Quang'})
mydict.set('name','Quang')
mydict.add('name','Quang')
Câu lệnh nào tương đương về hiệu quả với việc gán trực tiếp khi thêm hoặc cập nhật khóa 'name' trong mydict?
dict.update('name','Quang')
update(mydict,{'name':'Quang'})
mydict.extend({'name':'Quang'})
mydict.update({'name':'Quang'})
Giả sử mydict hiện chưa có khóa 'age'. Chọn cách đúng để thêm mới khóa này với giá trị 20, sao cho có thể áp dụng cho cả trường hợp khóa đã tồn tại.
mydict.append({'age':20})
update({'age':20},mydict)
mydict.update({'age':20})
mydict.insert('age',20)
Trong Python, phương thức nào dùng để xóa phần tử theo khóa cụ thể trong một dictionary?
popitem() trên dict
del dict toàn bộ
pop('key_name') trên dict
clear() trên dict
Điều gì xảy ra khi gọi mydict.clear()?
Xóa biến tham chiếu tới dictionary
Xóa khóa theo tên được chỉ định
Làm trống toàn bộ các cặp khóa–giá trị
Xóa phần tử cuối cùng vừa thêm
Trong Python 3.7 trở lên, mydict.popitem() sẽ xóa phần tử nào?
Phần tử đầu tiên trong dict
Phần tử cuối cùng được thêm vào
Phần tử ngẫu nhiên bất kỳ
Phần tử có khóa nhỏ nhất
Câu lệnh nào sẽ xóa toàn bộ đối tượng dictionary khỏi bộ nhớ?
del mydict xóa biến
mydict.clear() làm trống
mydict.pop('name') dùng khóa
mydict.popitem() loại cuối
Để duyệt qua tất cả key của một dictionary mydict, cú pháp nào đúng và ngắn gọn nhất?
for key in list(mydict.values()): print(key)
for key in mydict.items(): print(key)
for key in mydict.values(): print(key)
for key in mydict: print(key)
Câu lệnh nào in ra toàn bộ giá trị (value) của dictionary mydict một cách trực tiếp, không dùng truy cập qua key?
for x in mydict.values(): print(x)
for x in mydict.keys(): print(x)
for x in mydict.items(): print(x)
for x in mydict: print(x)
Khi cần vừa lấy key và value trong vòng lặp, lựa chọn nào dưới đây là chính xác?
for key, value in mydict.items(): print(key, value)
for key in mydict.keys(): print(key, value)
for key in mydict: print(key, mydict.items())
for key in mydict.values(): print(key, value)
Giả sử mydict = {'a':1, 'b':2}. Đoạn mã nào sẽ in lần lượt 1 rồi 2?
for k in mydict: print(mydict[k])
for v in mydict.values(): print(v, k)
for k,v in mydict.items(): print(k)
for v in mydict.keys(): print(v)
Phương thức nào tạo một bản sao toàn bộ từ điển sang từ điển mới?
str() chuyển sang chuỗi
copy() sao chép nguyên vẹn
items() trích xuất khóa giá trị
update() sao chép và ghi đè mục
Cho dict = {'a':1, 'b':2}. Lệnh nào thêm cặp khóa–giá trị {'c':3} vào dict?
sorted({'c':3}) để sắp xếp
items({'c':3}) để thêm phần tử
update({'c':3}) để cập nhật
copy({'c':3}) để nhân bản
Gọi list(d.items()) sẽ trả về gì đối với dict = {'x':10, 'y':20}?
Danh sách chỉ các khóa
Danh sách tuple khóa–giá trị
Chuỗi biểu diễn từ điển
Bản sao sâu toàn bộ từ điển
Hàm nào trả về số lượng cặp khóa–giá trị trong một từ điển?
copy(dict) đếm bản sao
len(dict) đếm các cặp
str(dict) đếm ký tự
items(dict) đếm mục
Khi cần sắp xếp các khóa của từ điển theo thứ tự tăng dần, nên dùng lựa chọn nào?
sorted(dict) trả về danh sách khóa
update(dict) trả về thứ tự mới
items(dict) tự động sắp xếp
copy(dict) sắp xếp dữ liệu
Để nhận chuỗi có thể in ra mô tả nội dung từ điển, ta dùng gì?
str(dict) chuyển thành chuỗi
items(dict) chuyển thành chuỗi
sorted(dict) chuyển thành chuỗi
len(dict) chuyển thành chuỗi
Quan sát ví dụ trên hình: Chuỗi "34, 67, 55, 33, 12, 98" được tách bằng split rồi chuyển thành list và tuple các chuỗi số. Thao tác nào cần thiết để chuyển list chuỗi ['34','67','55','33','12','98'] thành tuple cùng nội dung?
Dùng tuple() bao quanh list đã có
Dùng list() bao quanh list đã có
Dùng dict() để ánh xạ các phần tử
Dùng str() để nối các phần tử lại
Cho inputList = [1, 2, 3] và inputTuple = (4, 5, 6). Kết quả nào thể hiện đúng việc kết hợp để tạo cả outputList và outputTuple chứa các phần tử của cả hai cấu trúc?
outputList = [1,2,3,4,5,6], outputTuple = (4,5,6)
outputList = [1,2,3], outputTuple = (4,5,6,1,2,3)
outputList = [1,2,3,4,5,6], outputTuple = (1,2,3,4,5,6)
outputList = [4,5,6], outputTuple = (1,2,3,4,5,6)
Trong Python, đoạn mã nào chuyển chuỗi "5,7,8,10" thành một tuple các chuỗi sau khi loại khoảng trắng?
split rồi strip từng phần tử, sau đó tuple
dùng map(int) trực tiếp lên chuỗi rồi tuple
replace dấu phẩy bằng khoảng trắng rồi tuple
strip toàn chuỗi rồi tuple trực tiếp
Khi nhập "5,7,8,10" từ input và xử lý bằng split(',') và strip(), kiểu dữ liệu của danh_sach_so và tuple_so lần lượt là gì?
list và list
tuple và list
list và tuple
tuple và tuple
Cho n = 3, inputList = [4,5,6] và inputTuple = (1,2,3). Sau khi tạo combined_list_temp = inputList + list(inputTuple), Output Tuple là gì?
(4, 5, 6, 1, 2, 3)
(4, 5, 6, (1, 2, 3))
(1, 2, 3, 4, 5, 6)
([4, 5, 6], 1, 2, 3)
Trong Bài 3, mục đích của biến inputTuple_temp là gì?
Chuyển đổi list sang set để loại trùng
Lưu tạm các phần tử tuple trước khi tuple()
Tăng tốc vòng lặp nhập liệu người dùng
Định dạng chuỗi output theo mẫu cố định
