
Python การเข้าถึงข้อมูลใน List
เราสามารถเข้าถึงข้อมูลที่เก็บอยู่ใน List โดยการระบุอินเด็กซ์ โดยอินเด็กซ์ของ List จะเริ่มจาก 0 ดังนั้น ถ้าเราต้องการเข้าถึงข้อมูลตัวแรกใน List เราสามารถเข้าถึงได้โดยการอ้างอิงอินเด็กซ์ลำดับ 0 ดังนี้
my_list = ['iPhone', 'iPad', 'iPod'] print(my_list[0])
ผลลัพธ์
iPhone
การระบุอินเด็กซ์ติดลบ
การเข้าถึงสมาชิกข้อมูลใน List โดยใช้ตัวเลขจำนวนเต็มตามปกติ จะเป็นการเข้าถึงข้อมูลโดยนับเริ่มจากข้อมูลตัวแรกใน List
ถ้าเราต้องการเข้าถึงข้อมูลโดยเริ่มจากข้อมูลลำดับสุดท้าย เราสามารถทำได้โดยการระบุอินเด็กซ์เป็นจำนวนติดลบ เช่น ข้อมูลตัวแรกนับจากท้ายสุด อินเด็กซ์เป็น -1 ข้อมูลตัวที่ 2 จากลำดับท้ายสุด อินเด็กซ์เป็น -2 ตามลำดับ
my_list = ['iPhone', 'iPad', 'iPod'] print(my_list[-1])
ผลลัพธ์
iPod
จากตัวอย่าง ระบุอินเด็กซ์เป็น -1 หมายถึง เอาข้อมูลตัวที่ 1 นับจากลำดับท้ายสุด จึงได้ผลลัพธ์เป็น iPod ซึ่งเป็นข้อมูลลำดับสุดท้ายใน List นั่นเอง
การเข้าถึงข้อมูลเป็นช่วง
นอกจากการเข้าถึงข้อมูลใน List ทีละตัวแล้ว เรายังสามารถเข้าถึงข้อมูลทีละหลาย ๆ ตัว โดยการกำหนดอินเด็กซ์เป็นช่วง โดยการระบุอินเด็กซ์เริ่มต้นและอินเด็กซ์สิ้นสุดที่ต้องการข้อมูล เช่น
list[2:6]
เป็นการเข้าถึงข้อมูลเริ่มจากอินเด็กซ์ 2 (ซึ่งหมายถึงข้อมูลลำดับที่ 3) ไปจนถึงอินเด็กซ์ 6 (ซึ่งอินเด็กซ์ 6 จะไม่ถูกรวมเข้ามา นั่นก็หมายความว่า เราจะได้ข้อมูลถึงอินเด็กซ์ 5 (ซึ่งหมายถึงข้อมูลตัวที่ 6 ใน List) เท่านั้น)
และผลลัพธ์ที่ได้จากการเข้าถึงข้อมูลแบบช่วง เราจะได้ข้อมูลเป็น List ใหม่ ที่ประกอบด้วยสมาชิกเป็นข้อมูลตามที่เราระบุ
เพื่อความเข้าใจมากยิ่งขึ้น มาดูตัวอย่างกันดีกว่า
my_list = ['iPhone', 'iPad', 'iPod', 'Samsung', 'Vivo', 'Wiko', 'Nokia', 'Oppo'] print(my_list[2:6])
ผลลัพธ์
[‘iPod’, ‘Samsung’, ‘Vivo’, ‘Wiko’]
ลำดับข้อมูลใน List เป็นดังนี้

คำสั่ง print(my_list[2:6])
หมายถึง ให้เอาข้อมูลลำดับ 2 ถึงลำดับ 6-1 (เท่ากับ 5) จึงเป็นที่มาของผลลัพธ์ตามตัวอย่าง
สำหรับการเข้าถึงข้อมูลแบบช่วงดังกล่าว ถ้าเราเว้นอินเด็กซ์เริ่มต้นไว้ จะหมายถึงการเข้าถึงข้อมูลตั้งแต่ลำดับแรก คืออินเด็กซ์ 0 นั่นเอง ดังตัวอย่าง
my_list = ['iPhone', 'iPad', 'iPod', 'Samsung', 'Vivo', 'Wiko', 'Nokia', 'Oppo'] print(my_list[:6])
ผลลัพธ์
[‘iPhone’, ‘iPad’, ‘iPod’, ‘Samsung’, ‘Vivo’, ‘Wiko’]
และเช่นเดียวกัน ถ้าเราระบุเฉพาะอินเด็กซ์เริ่มต้น เว้นอินเด็กซ์สิ้นสุดไว้ จะหมายถึง การเข้าถึงข้อมูลตั้งแต่อินเด็กซ์เริ่มต้นที่ระบุ ไปจนถึงข้อมูลตัวสุดท้ายใน List
my_list = ['iPhone', 'iPad', 'iPod', 'Samsung', 'Vivo', 'Wiko', 'Nokia', 'Oppo'] print(my_list[2:])
ผลลัพธ์
[‘iPod’, ‘Samsung’, ‘Vivo’, ‘Wiko’, ‘Nokia’, ‘Oppo’]
เราสามารถเข้าถึงข้อมูลแบบช่วงโดยการระบุอินเด็กซ์ติดลบได้เช่นกัน ซึ่งจะหมายถึงการเข้าถึงข้อมูลตามลำดับที่ระบุ แต่นับมาจากข้างหลัง เช่น
list[-5:-1]
จะหมายถึง เข้าถึงข้อมูลตั้งแต่ลำดับที่ 5 นับจากตัวสุดท้าย ไปจนถึงข้อมูลลำดับที่ 2 นับจากตัวสุดท้าย (ข้อมูลลำดับ -1 ซึ่งหมายถึงข้อมูลตัวสุดท้าย จะไม่ถูกรวมเข้ามา จะได้ข้อมูลตัวถัดมา คือ -2)
ดังตัวอย่าง
my_list = ['iPhone', 'iPad', 'iPod', 'Samsung', 'Vivo', 'Wiko', 'Nokia', 'Oppo'] print(my_list[-5:-1])
ผลลัพธ์
[‘Samsung’, ‘Vivo’, ‘Wiko’, ‘Nokia’]
ตรวจสอบว่ามีข้อมูลที่ต้องการอยู่ใน List หรือไม่
เราสามารถตรวจสอบได้ว่า มีข้อมูลที่เราต้องการอยู่ใน List หรือไม่ โดยใช้คีย์เวิร์ด in
ดังนี้
stock = ['iPhone', 'iPad', 'iPod', 'Samsung', 'Vivo', 'Wiko', 'Nokia', 'Oppo'] if "iPhone" in stock: print("There is iPhone in stock.")
ผลลัพธ์
There is iPhone in stock.
- ทำความรู้จักกับภาษา Python
- เตรียมเครื่องมือสำหรับเขียนโปรแกรมภาษา Python
- รูปแบบการเขียนโปรแกรมภาษา Python
- การเขียนคอมเม้นต์
- การใช้ฟังก์ชัน print
- ตัวแปรในภาษา Python
- ชนิดข้อมูลในภาษา Python
- ข้อมูลชนิดตัวเลข
- การแปลงชนิดข้อมูล
- ข้อมูลชนิดข้อความ String
- การตัดข้อมูลชนิด String
- การเปลี่ยนแปลงข้อมูลชนิด String
- การต่อข้อมูลชนิด String
- การจัดรูปแบบข้อมูลชนิด String
- Python Escape Characters
- เมธอด zfill()
- เมธอด upper()
- เมธอด title()
- เมธอด swapcase()
- เมธอด strip()
- เมธอด startswith()
- เมธอด splitlines()
- เมธอด split()
- เมธอด rstrip()
- เมธอด rsplit()
- เมธอด rpartition()
- เมธอด rjust()
- เมธอด rindex()
- เมธอด rfind()
- เมธอด replace()
- เมธอด partition()
- เมธอด lstrip()
- เมธอด lower()
- เมธอด ljust()
- เมธอด join()
- เมธอด isupper()
- เมธอด istitle()
- เมธอด isspace()
- เมธอด isprintable()
- เมธอด isnumeric()
- เมธอด islower()
- เมธอด isidentifier()
- เมธอด isdigit()
- เมธอด isdecimal()
- เมธอด isalpha()
- เมธอด isalnum()
- เมธอด index()
- เมธอด format()
- เมธอด find()
- เมธอด expandtabs()
- เมธอด endswith()
- เมธอด encode()
- เมธอด count()
- เมธอด center()
- เมธอด casefold()
- เมธอด capitalize()
- เมธอด format_map()
- เมธอด maketrans()
- เมธอด translate()
- ข้อมูลชนิด Boolean
- ตัวดำเนินการ
- ข้อมูลประเภท List
- การเข้าถึงสมาชิกใน List
- การเปลี่ยนแปลงข้อมูลใน List
- การเพิ่มข้อมูลใน List
- การลบข้อมูลใน List
- Python - Loop Lists
- Python - List Comprehension
- Python - Sort Lists
- Python - Copy Lists
- Python - Join Lists
- เมธอด append()
- เมธอด clear()
- เมธอด copy()
- เมธอด count()
- เมธอด extend()
- เมธอด index()
- เมธอด insert()
- เมธอด pop()
- เมธอด remove()
- เมธอด reverse()
- เมธอด sort()
- ข้อมูลชนิด Tuple
- Python - Access Tuple Items
- Python - Update Tuples
- Python - Unpack Tuples
- Python - Loop Tuples
- Python - Join Tuples
- เมธอด count()
- เมธอด index()
- ข้อมูลประเภท Set
- การเข้าถึงข้อมูลใน Set
- การเพิ่มข้อมูลใน Set
- การลบข้อมูลใน Set
- การเข้าถึงข้อมูลใน Set ด้วยลูป for
- การจอย Join ข้อมูลใน Set
- เมธอด add()
- เมธอด clear()
- เมธอด copy()
- เมธอด difference()
- เมธอด difference_update()
- เมธอด discard()
- เมธอด intersection()
- เมธอด intersection_update()
- เมธอด isdisjoint()
- เมธอด issubset()
- เมธอด issuperset()
- เมธอด pop()
- เมธอด remove()
- เมธอด symmetric_difference()
- เมธอด symmetric_difference_update()
- เมธอด union()
- เมธอด update()