Module 4b — ทบทวน (Review)

Collection Data Types: Tuple, Set, Dictionary — แบบฝึกทบทวน

ทบทวน Module 4b 📝

  • Multiple Choice — เลือกคำตอบที่ถูก แล้วกดถัดไปเพื่อดูเฉลย
  • เติมคำในช่องว่าง — ลองพิมพ์ใน Live Code แล้วรัน

. . .

Note

ครอบคลุม: Tuple · Set · Dictionary · Collection of Collections ทบทวนเนื้อหาเต็มได้ที่ Module 4b 👈

Multiple Choice 🔘

เลือกคำตอบที่ถูกต้อง — เฉลยจะปรากฏเมื่อกดถัดไป

คำถาม #1

Tuple สร้างด้วยเครื่องหมายใด?

A. [ ]    B. ( )    C. { }

Tip

ตอบ: B — Tuple ใช้ ( ) ( [ ] = list, { } = set/dict )

คำถาม #2: ชวนคิด

tup = (1, 2, 3) แล้ว tup[0] = 99 จะเกิดอะไร?

A. (99, 2, 3)    B. TypeError    C. [99, 2, 3]

Important

ตอบ: B — Tuple เป็น immutable แก้ไขค่าภายในไม่ได้ → TypeError

คำถาม #3

{1, 2, 2, 3, 3} มีสมาชิกกี่ตัว?

A. 5    B. 3    C. 2

Tip

ตอบ: B — Set เก็บข้อมูล ไม่ซ้ำ (unique) → เหลือ {1, 2, 3}

คำถาม #4

ข้อใดสร้าง set ว่าง ได้ถูกต้อง?

A. {}    B. set()    C. []

Important

ตอบ: B{} สร้าง dict ว่าง ไม่ใช่ set! set ว่างต้องใช้ set()

คำถาม #5: ชวนคิด

s = {1, 2, 3}s[0] ให้ผลใด?

A. 1    B. TypeError    C. None

Important

ตอบ: B — Set ไม่มีลำดับ (unordered) จึงไม่มี index → อ้างด้วย [ ] ไม่ได้

คำถาม #6

{1, 2, 3} | {3, 4, 5} (union) ให้ผลใด?

A. {3}    B. {1, 2, 3, 4, 5}    C. {1, 2, 4, 5}

Tip

ตอบ: B| (union) รวมสมาชิกทั้งหมด (ไม่ซ้ำ)

คำถาม #7

{1, 2, 3} & {3, 4, 5} (intersection) ให้ผลใด?

A. {3}    B. {1, 2, 3, 4, 5}    C. { }

Tip

ตอบ: A& (intersection) เอาเฉพาะสมาชิก ร่วมกัน{3}

คำถาม #8

Dictionary เข้าถึงข้อมูลด้วยอะไร?

A. index ตัวเลข    B. key    C. ทั้งสองอย่าง

Tip

ตอบ: B — Dict อ้างอิงด้วย key เช่น person["name"]

คำถาม #9: ชวนคิด

ดึงค่าจาก dict ด้วย key ที่ไม่มีอยู่ จะเกิดอะไร?

A. คืน None    B. KeyError    C. คืน ''

Important

ตอบ: B — key ที่ไม่มี → KeyError

คำถาม #10: ชวนคิด

ข้อใด ใช้เป็น key ของ dict ไม่ได้?

A. "name" (str)    B. 1 (int)    C. [1, 2] (list)

Important

ตอบ: C — key ต้องเป็นชนิด immutable (str, int, float, tuple) — list เป็น key ไม่ได้

คำถาม #11

.items() ของ dict คืนค่าในรูปแบบใด?

A. list ของ key    B. list ของ (key, value)    C. list ของ value

Tip

ตอบ: B.items() คืน list ของ Tuple (key, value) (ส่วน .keys() คืนเฉพาะ key)

คำถาม #12: ชวนคิด

items = [["John", 180], ["Jane", 176]]items[1][1] คือค่าใด?

A. "Jane"    B. 176    C. 180

Tip

ตอบ: Bitems[1] = ["Jane", 176] แล้ว [1] = 176 (เข้าถึง 2 ชั้น)

เติมคำในช่องว่าง ✏️

เติมโค้ดในช่อง ____ แล้วกด Run

เติมคำ #13

สร้าง tuple แล้วเข้าถึงสมาชิก ตัวสุดท้าย

tup = (10, 20, 30, 40)
print(tup[-1])
40

เติมคำ #14

แปลง tuple เป็น list เพื่อแก้ไข แล้วแปลง กลับเป็น tuple

x = ("apple", "banana")
y = list(x)
y.append("cherry")
z = tuple(y)
print(z)
('apple', 'banana', 'cherry')

เติมคำ #15

หา union และ intersection ของ 2 set

a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)   # union
print(a & b)   # intersection
{1, 2, 3, 4, 5}
{3}

เติมคำ #16

เพิ่มสมาชิกด้วย .add() และลบแบบ ไม่ error ด้วย .discard()

s = {1, 2, 3}
s.add(4)
s.discard(99)   # discard ไม่ error แม้ไม่มีค่านั้น
print(s)
{1, 2, 3, 4}

เติมคำ #17

สร้าง dict แล้ว เข้าถึงค่า ด้วย key

person = {"name": "Ann", "age": 20}
print(person["name"])
Ann

เติมคำ #18

เพิ่ม key ใหม่ "gpa" ให้กับ dict

person = {"name": "Ann", "age": 20}
person["gpa"] = 3.5
print(person)
{'name': 'Ann', 'age': 20, 'gpa': 3.5}

เติมคำ #19

ดึงรายการ key ทั้งหมด ออกมาเป็น list

person = {"name": "Ann", "age": 20, "gpa": 3.5}
print(list(person.keys()))
['name', 'age', 'gpa']

เติมคำ #20: ชวนคิด

เข้าถึงข้อมูลใน List of Dict แล้วคำนวณค่าเฉลี่ยส่วนสูง

items = [
    {"name": "John", "height": 180},
    {"name": "Jane", "height": 176},
]
avg = (items[0]["height"] + items[1]["height"]) / len(items)
print(avg)
178.0

จบการทบทวน 🎉

ทบทวนเนื้อหาเต็มได้ที่ Module 4b · กลับไป Module 4a