Kodokon kodokon.com

ลิสต์และดิกชันนารี

สร้าง อ่าน แก้ไข และวนผ่านลิสต์กับดิกชันนารี เพื่อจัดระเบียบข้อมูลของคุณ

10 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

ลิสต์ (list) คือคอลเลกชันของค่าที่เรียงลำดับ เขียนอยู่ในวงเล็บเหลี่ยม [...] โดยคั่นด้วยจุลภาค สมาชิกแต่ละตัวมีตำแหน่งที่เรียกว่า ดัชนี (index) และการนับเริ่มต้นที่ 0 สมาชิกตัวแรกอยู่ที่ดัชนี 0 ตัวที่สองอยู่ที่ดัชนี 1 และเรื่อยไป คุณอ่านสมาชิกตัวหนึ่งได้โดยเขียนชื่อของลิสต์ตามด้วยดัชนีในวงเล็บเหลี่ยม

PYTHON
fruits = ["apple", "banana", "cherry"]
print(fruits[0])
print(fruits[2])
แสดงผล "apple" แล้วก็ "cherry" ซึ่งเป็นดัชนี 0 และ 2

ลิสต์แก้ไขได้ง่าย fruits[1] = ... แทนที่สมาชิกที่ดัชนี 1 ส่วน เมท็อด (method) ชื่อ append (ฟังก์ชันที่ผูกกับลิสต์ ซึ่งเรียกใช้ด้วยจุด) จะเพิ่มสมาชิกที่ท้ายสุด และฟังก์ชัน len คืนค่าจำนวนสมาชิก หากต้องการ วนผ่าน (iterate) ลิสต์ นั่นคือไปเยือนสมาชิกทีละตัวตามลำดับ คุณจะใช้ลูป for

PYTHON
fruits = ["apple", "banana", "cherry"]
fruits[1] = "kiwi"
fruits.append("mango")
print(len(fruits))
for fruit in fruits:
    print(fruit)
แสดงผล 4 จากนั้นก็ apple, kiwi, cherry และ mango

ดิกชันนารี (dictionary) เชื่อมโยง คีย์ (key) เข้ากับ ค่า (value) เหมือนกับที่สมุดโทรศัพท์เชื่อมโยงชื่อคนเข้ากับหมายเลข มันเขียนอยู่ในวงเล็บปีกกาเป็นคู่ key: value คุณอ่านค่าหนึ่ง ๆ ด้วยคีย์ของมันในวงเล็บเหลี่ยม คุณแก้ไขหรือเพิ่มคู่ใหม่ได้ด้วยวิธีเดียวกัน และเมท็อด items ช่วยให้คุณวนผ่านคู่คีย์/ค่าด้วยลูป for ได้

PYTHON
person = {"name": "Alice", "age": 30}
print(person["age"])
person["age"] = 31
person["city"] = "Paris"
for key, value in person.items():
    print(key, value)
แสดงผล 30 จากนั้นแสดงคู่ทั้งสาม ได้แก่ name, age (31) และ city

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. จาก fruits = ['apple', 'banana'] แล้ว fruits[0] คืออะไร?
    • 'apple'
    • 'banana'
    • ข้อผิดพลาด
  2. คุณจะเพิ่มสมาชิกที่ท้ายสุดของลิสต์ได้อย่างไร?
    • fruits.append('kiwi')
    • fruits.add('kiwi')
    • fruits.push('kiwi')
    • append(fruits, 'kiwi')
  3. ในดิกชันนารี คุณจะอ่านค่าหนึ่ง ๆ ได้อย่างไร?
    • ด้วยตำแหน่งของมัน เช่น person[0]
    • ด้วยคีย์ของมัน เช่น person['name']
    • ด้วยเมท็อด person.value()