Python – List
การเก็บข้อมูลประเภทลิสต์นั้น เป็นการเก็บข้อข้อมูลแบบมีลำดับของข้อมูลและสามารถอ้างอิงถึงข้อมูลตามลำดับดังกล่าว โดยในลิสต์เดียวกันสามารถจะบรรจุข้อมูลหลายประเภทรวมกันได้
การสร้างลิสต์
การสร้างลิสต์นั้นทำได้โดยการนำข้อมูลมาเรียงกันเป็นลำดับแล้วครอบด้วยเครื่องหมาย “[]” ซึ่งข้อมูลแต่ละตัว แยกออกจากกันด้วยเครื่องหมาย “,” โดยข้อมูลภายในลิสต์นั้นจะสามารถประกอบด้วยข้อมูลต่างประเภทกันได้ เช่น จำนวนเต็ม(integer), เลขทศนิยม(float), ข้อความ(string),…
ตัวอย่างการใช้งาน
# สร้างตัวแปรเพื่อเก็บข้อมูลประเภทลิสต์ สำหรับเก็บคะแนน ซึ่งยังไม่เก็บข้อมูลใดๆ scores = [] # สร้างตัวแปรเพื่อเก็บข้อมูลประเภทลิสต์ สำหรับเก็บคะแนน ซึ่งเก็บคะแนนที่เป็นจำนวนเต็ม scores = [85, 62, 70] # สร้างตัวแปรเพื่อเก็บข้อมูลประเภทลิสต์ สำหรับเก็บคะแนน ซึ่งเก็บข้อมูลหลายประเภทซึ่งในตัวอย่างทำการเก็บข้อมูลประเภทจำนวนเต็ม, เลขทศนิยม และข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50]
สำหรับการเก็บข้อมูลของลิสต์นั้น สามารถที่จะบรรจุข้อมูลประเภทลิสต์ซ้อนอยู่ภายในลิสต์ได้อีกด้วย ซึ่งจะเรียกว่า nested ลิสต์
ตัวอย่างการใช้งาน
# กำหนดตัวแปร สำหรับเก็บข้อมูลไฟล์สำหรับชื่อรูปภาพ ซึ่งมีทั้งข้อมูลชื่อไฟล์ที่เป็นข้อความและเป็นลิสต์ซ้อนอยู่
files = [ "IMG_001.JPG",
"IMG_002.JPG",
["IMG_003.JPG", "IMG_004.JPG", "IMG_005.JPG"],
["IMG_006.JPG", "IMG_007.JPG"],
"IMG_008.JPG"
]
จากตัวอย่างเป็นการสร้างข้อมูลแบบลิสต์ซึ่งเก็บข้อมูลหลายประเภทในลิสต์เดียวกัน โดยในตัวอย่าง ภายในลิสต์จะเก็บข้อมูลทั้งรูปแบบข้อความ และลิสต์ซึ่งซ้อนอยู่ภายในลิสต์
การเข้าถึงข้อมูลประเภทลิสต์
-
การเข้าถึงข้อมูลโดยใช้ลำดับข้อมูล(index)
เราสามารถเข้าถึงข้อมูลในลิสต์โดยใช้ตัวดำเนินการ[] และทำการระบุตำแหน่งเพื่อจะเข้าถึงข้อมูลภายในลิสต์ โดยลำดับของข้อมูลจะเริ่มต้นจากลำดับที่ 0 หากภายในลิสต์บรรจุข้อมูล 10 ตัว จะสามารถเข้าถึงข้อมูลได้จากลำดับที่ 0-9
ตัวอย่างการใช้งาน# กำหนดตัวแปร สำหรับเก็บข้อมูลไฟล์สำหรับชื่อรูปภาพ ซึ่งมีทั้งข้อมูลชื่อไฟล์ที่เป็นข้อความและเป็นลิสต์ซ้อนอยู่ files = [ "IMG_001.JPG", "IMG_002.JPG", ["IMG_003.JPG", "IMG_004.JPG", "IMG_005.JPG"], ["IMG_006.JPG", "IMG_007.JPG"], "IMG_008.JPG" ] # การเข้าถึงข้อมูลลำดับแรกสุดของลิสต์ print(files[1]) # โปรแกรมทำการปรินต์ค่า # "IMG_002.JPG" # การเข้าถึงข้อมูลของลิสต์ที่ซ้อนอยู่ภายในลิสต์ print(files[2]) # โปรแกรมทำการปรินต์ค่า # ["IMG_003.JPG", "IMG_004.JPG", "IMG_005.JPG"]จากตัวอย่าง เป็นการเก็บข้อมูลของชื่อไฟล์ซึ่งถูกเก็บด้วยรูปแบบข้อมูลประเภทลิสต์ โดยข้อมูลนั้นจะมีทั้งข้อมูลประเภทข้อความและข้อมูลประเภทลิสต์ซ้อนอยู่ภายใน ตัวอย่างเช่น เมื่อเรียกข้อมูลลำดับที่ 1 (files[1])โปรแกรมจะคืนค่าข้อมูล “IMG_002.JPG” และเมื่อเราทำการเรียกดูข้อมูลลำดับที่ 2 ของลิสต์(files[2]) จะอ้างถึงข้อมูลของลิสต์ [“IMG_003.JPG”, “IMG_004.JPG”, “IMG_005.JPG”] ที่ซ้อนอยู่ภายในลิสต์ดังกล่าว
หากเราพยายามจะเข้าถึงข้อมูลในลิสต์โดยอ้างอิงลำดับที่นอกเหนือจากลำดับที่มีข้อมูลอยู่จริง โปรแกรมจะเกิดข้อผิดพลาด “IndexError” และการอ้างอิงลำดับข้อมูลนั้นจะอ้างถึงด้วยตัวเลขจำนวนเต็ม(integer) เท่านั้น ไม่สามารถจะอ้างถึงข้อมูลด้วยเลขทศนิยม(float) หากพยายามเข้าถึงข้อมูลด้วยเลขทศนิยมโปรแกรมจะเกิดข้อผิดพลาด “TypeError”
-
การเข้าถึงข้อมูลที่เป็น nested ลิสต์
การเข้าถึงข้อมูลที่เป็น nested ลิสต์จะต้องใช้การอ้างอิงถึงลำดับแบบ nested
ตัวอย่างการใช้งาน# กำหนดตัวแปร สำหรับเก็บข้อมูลไฟล์สำหรับชื่อรูปภาพ ซึ่งมีทั้งข้อมูลชื่อไฟล์ที่เป็นข้อความและเป็นลิสต์ซ้อนอยู่ files = [ "IMG_001.JPG", "IMG_002.JPG", ["IMG_003.JPG", "IMG_004.JPG", "IMG_005.JPG"], ["IMG_006.JPG", "IMG_007.JPG"], "IMG_008.JPG" ] # การเข้าถึงข้อมูลของลิสต์ที่ซ้อนอยู่ภายในลิสต์ print(files[2][1]) # โปรแกรมทำการปรินต์ค่า # "IMG_004.JPG" # การเข้าถึงข้อมูลของลิสต์ที่ซ้อนอยู่ภายในลิสต์ print(files[3][0]) # โปรแกรมทำการปรินต์ค่า # "IMG_006.JPG"จากตัวอย่าง เป็นการเก็บข้อมูลของชื่อไฟล์ซึ่งถูกเก็บด้วยรูปแบบข้อมูลประเภทลิสต์ โดยข้อมูลนั้นจะมีทั้งข้อมูลประเภทข้อความและข้อมูลประเภทลิสต์ซ้อนอยู่ภายใน ตัวอย่างเช่น เมื่ออ้างถึงข้อมูลของลิสต์ files[2][1] โปรแกรมจะเรียกดูข้อมูลลำดับที่ 2 ของลิสต์ชั้นนอกสุด(ซึ่งคือข้อมูล [“IMG_003.JPG”, “IMG_004.JPG”, “IMG_005.JPG”]) และจะเข้าถึงข้อมูลลำดับที่ 1 ของลิสต์ชั้นในที่ซ้อนอยู่ภายในลิสต์ดังกล่าว(ซึ่งก็คือข้อมูล “IMG_004.JPG”)
-
การอ้างถึงลำดับข้อมูลของลิสต์โดยใช้เลขจำนวนลบ
เราสามารถจะใช้เลขจำนวนลบในการเข้าถึงลำดับของข้อมูล โดย -1 จะอ้างถึงข้อมูลลำดับสุดท้ายของลิสต์ และ -2 จะอ้างถึงข้อมูลลำดับรองสุดท้ายและจำนวนอื่นๆ ไล่ไปตามลำดับ
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # การเข้าถึงข้อมูลลำดับสุดท้ายจากลิสต์ โดยใช้เลขจำนวนเต็มลบ print(scores[-1]) # โปรแกรมทำการปรินต์ค่า # 50 # การเข้าถึงข้อมูลลำดับรองสุดท้ายจากลิสต์ โดยใช้เลขจำนวนเต็มลบ print(scores[-2]) # โปรแกรมทำการปรินต์ค่า # 66
-
การเข้าถึงข้อมูลในลิสต์โดยการระบุช่วงของข้อมูล
เราสามารถเข้าถึงข้อมูลในลิสต์โดยระบุเป็นช่วงของข้อมูลได้ โดยใช้ตัวดำเนินการ “:”
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # การเข้าถึงข้อมูลของลิสต์ โดยระบุช่วงของข้อมูล ลำดับเริ่มต้น,สิ้นสุด print( scores[1:3] ) # โปรแกรมทำการปรินต์ค่า # [62, 70] # การเข้าถึงข้อมูลของลิสต์ โดยระบุช่วงของข้อมูล ลำดับเริ่มต้น,สิ้นสุด print( scores[0:2] ) # โปรแกรมทำการปรินต์ค่า # [85, 62] # การเข้าถึงข้อมูลของลิสต์ โดยระบุช่วงของข้อมูลโดยระบุเพียงจุดเริ่มต้น และให้ดึงข้อมูลเริ่มต้นจากตำแหน่งดังกล่าวและข้อมูลตำแหน่งถัดมาออกมาทั้งหมด print( scores[4:] ) # โปรแกรมทำการปรินต์ค่า # [90.5, 66, 50] # การเข้าถึงข้อมูลของลิสต์ โดยระบุช่วงของข้อมูลเริ่มต้น, สิ้นสุด ให้เป็นค่าว่าง โดยจะคืนค่าข้อมูลทั้งหมดภายในลิสต์ออกมา print( scores[:] ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, "NA", 90.5, 66, 50]
การเปลี่ยนแปลงข้อมูลในลิสต์ โดยการเพิ่มหรือแก้ไขข้อมูล
การเก็บข้อมูลประเภทลิสต์นั้น เราสามารถทำการเปลี่ยนแปลงข้อมูลภายในได้(mutable) โดยข้อมูลแต่ละตัวที่อยู่ภายในลิสต์ยังสามารถเปลี่ยนแปลงได้เสมอ
-
การเปลี่ยนแปลงข้อมูลในลิสต์หรือช่วงข้อมูลโดยใช้เครื่องหมาย “=”
เราสามารถจะใช้เครื่องหมาย “=” เพื่อจะเปลี่ยนแปลงข้อมูลหรือช่วงของข้อมูลในลิสต์
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # ทำการแก้ไขข้อมูลในลิสต์ ตรงข้อมูลลำดับที่ 3 ให้มีค่าเป็นข้อมูลที่ระบุ scores[3] = 80 print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, 80, 90.5, 66, 50] # ทำการแก้ไขข้อมูลในลิสต์ ตรงข้อมูลลำดับที่ 4-6 ให้มีค่าเป็นชุดข้อมูลที่ระบุ scores[4:7] = [88, 70, 55] print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, 80, 88, 70, 55]
-
การเพิ่มข้อมูล โดยใช้ฟังก์ชัน append()
เราสามารถที่จะเพิ่มข้อมูลเข้าไปในลิสต์โดยใช้ฟังก์ชัน append() หรือหากต้องการเพิ่มข้อมูลหลายตัวก็ใช้ฟังก์ชัน extend()
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # ทำการเพิ่มข้อมูลในลิสต์ ตรงตำแหน่งต่อจากข้อมูลตัวสุดท้าย scores.append(70) print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, "NA", 90.5, 66, 50, 70] # ทำการเพิ่มข้อมูลทั้งหมดจากลิสต์ที่กำหนด ลงไปในลิสต์ ตรงตำแหน่งต่อจากข้อมูลตัวสุดท้าย scores.extend([59, 65, 90]) print(scores) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, "NA", 90.5, 66, 50, 70, 59, 65, 90]
-
การรวมข้อมูลลิสต์โดยใช้เครื่องหมาย “+”
เราสามารถใช้ตัวดำเนินการ “+” เพื่อทำการรวมข้อมูลจากลิสต์สองตัว
ตัวอย่างการใช้งาน# กำหนดตัวแปรสำหรับเก็บข้อมูลตัวอย่าง samples = [1, 2, 3] # ทำการรวมข้อมูลจากลิสต์สองตัว ให้ข้อมูลทั้งหมดอยู่ภายในลิสต์เดียวกัน merge_samples = samples + [4, 5] print( merge_samples ) # โปรแกรมทำการปรินต์ค่า # [1, 2, 3, 4, 5]
-
การคัดลอกข้อมูลซ้ำๆโดยใช้เครื่องหมาย “*”
เราสามารถใช้ตัวดำเนินการ “*” เพื่อทำการสร้างข้อมูลแบบเดียวกันซ้ำอีกครั้งตามจำนวนครั้งที่ต้องการสร้างข้อมูลซ้ำ
ตัวอย่างการใช้งาน# กำหนดตัวแปรสำหรับเก็บข้อมูลตัวอย่าง samples = [1, 2, 3] # ทำการคัดลอกข้อมูลชุดเดิมซ้ำ replicate_samples = samples * 2 print( replicate_samples ) # โปรแกรมทำการปรินต์ค่า # [1, 2, 3, 1, 2, 3]
-
การเพิ่มข้อมูลเข้าไปในลิสต์
นอกจากการเปลี่ยนแปลงข้อมูลในลิสต์จากตัวอย่างที่เราได้กล่าวถึงไปแล้ว เรายังสามารถที่จะทำการเพิ่มข้อมูลตัวเดียวหรือหลายตัวลงไปในลิสต์ โดยทำการระบุตำแหน่งที่เราต้องการจะเพิ่มข้อมูลลงไป
ตัวอย่างการใช้งาน# กำหนดตัวแปรสำหรับเก็บข้อมูลตัวอย่าง samples = [1, 5] # ทำการเพิ่มข้อมูลใหม่ ลงไปในลิสต์ตามลำดับข้อมูลที่กำหนด samples.insert(1, 2) print( samples ) # โปรแกรมทำการปรินต์ค่า # [1, 2, 5] # ทำการเพิ่มข้อมูลใหม่ ลงไปในลิสต์ตามลำดับข้อมูลที่กำหนด samples[2:2] = [3, 4] print( samples ) # โปรแกรมทำการปรินต์ค่า # [1, 2, 3, 4, 5]
การลบข้อมูลออกจากลิสต์
เราสามารถที่จะลบข้อมูลออกจากลิสต์ทีละตัวหรือหลายตัวพร้อมกัน
-
การลบข้อมูลในลิสต์โดยใช้คีย์เวิร์ด “del”
เราสามารถใช้คีย์เวิร์ด “del” ในการลบข้อมูลที่ละตัวหรืออาจจะทำลบข้อมูลทั้งหมดพร้อมกันในครั้งเดียวก็ได้
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # ทำการลบข้อมูลออกจากลิสต์ตรงตำแหน่งที่ระบุ โดยใช้ฟังก์ชัน del del scores[3] print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, 90.5, 66, 50] # ทำการลบข้อมูลออกจากลิสต์ตรงช่วงของตำแหน่งที่ระบุ โดยใช้ฟังก์ชัน del del scores[2:4] print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 66, 50] # ทำการลบข้อมูลของลิสต์โดยลบออบเจคลิสต์ดังกล่าวทิ้งด้วย del scores print( scores ) # โปรแกรมทำการปรินต์ค่า # error: name 'scores' is not defined
-
การลบข้อมูลในลิสต์โดยใช้ฟังก์ชัน “remove”
เราสามารถใช้ฟังก์ชัน “remove” เพื่อจะทำการลบข้อมูล
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # ใช้ฟังก์ชัน "remove" เพื่อลบข้อมูลที่ระบุออกจากลิสต์ scores.remove("NA") print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, 90.5, 66, 50] -
การลบข้อมูลในลิสต์พร้อมคืนค่าข้อมูลดังกล่าวโดยใช้ฟังก์ชัน “pop”
การใช้งานฟังก์ชัน “pop” เพื่อจะลบข้อมูล หากไม่ทำการระบุตำแหน่งลงไปจะทำการลบข้อมูลตัวสุดท้าย แล้วคืนค่าข้อมูลนั้นออกมา ซึ่งจะทำให้สามารถทำให้ลิสต์ทำงานแบบ stack ได้(first in, last out) แต่ถ้าเราระบุตำแหน่งข้อมูลที่ต้องการลบลงไป โปรแกรมก็จะคืนค่าข้อมูลดังกล่าวและลบข้อมูลดังกล่าวออก
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # ใช้ฟังก์ชัน "pop" เพื่อจะคืนค่าข้อมูลตามลำดับที่ระบุออกมา แล้วลบข้อมูลดังกล่าวออกจากลิสต์ pop_score = scores.pop(4) print("Pop score: ", pop_score) print( scores ) # โปรแกรมทำการปรินต์ค่า # Pop score: 90.5 # [85, 62, 70, 'NA', 66, 50] # ใช้ฟังก์ชัน "pop" เพื่อจะคืนค่าข้อมูลตามลำดับสุดท้าย แล้วลบข้อมูลดังกล่าวออกจากลิสต์ ซึ่งเป็นรูปแบบเดียวกับการใช้งาน stack pop_score = scores.pop() print("Pop score: ", pop_score) print( scores ) # โปรแกรมทำการปรินต์ค่า # Pop score: 50 # [85, 62, 70, 'NA', 66] -
การลบข้อมูลในลิสต์โดยใช้ฟังก์ชัน “clear”
เรายังสามารถใช้ฟังก์ชัน “clear” เพื่อทำการจัดการให้ลิสต์นั้นว่างได้
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # การลบข้อมูลทั้งหมดในลิสต์ออก ให้เหลือเพียงลิสต์ว่าง โดยใช้ฟังก์ชัน clear scores.clear() print( scores ) # โปรแกรมทำการปรินต์ค่า # []
-
การลบข้อมูลในลิสต์โดยใช้การระบุให้เป็นลิสต์ว่าง
เราสามารถที่จะทำการลบข้อมูลในลิสต์ได้ โดยการกำหนดค่าของข้อมูลที่ต้องการจะลบออกเป็นลิสต์ว่าง
ตัวอย่างการใช้งาน# กำหนดตัวแปรเพื่อเก็บข้อมูลคะแนน โดยจะเก็บข้อมูลที่เป็นเลขจำนวนเต็มและข้อความ scores = [85, 62, 70, "NA", 90.5, 66, 50] # การลบข้อมูลในลิสต์ออกตามตำแหน่งที่ระบุ โดยการกำหนดให้เป็นลิสต์ว่างเพื่อเคลียร์ข้อมูลตำแหน่งนั้น scores[3:5] = [] print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 70, 66, 50] # การลบข้อมูลในลิสต์ออกตามตำแหน่งที่ระบุ โดยการกำหนดให้เป็นลิสต์ว่างเพื่อเคลียร์ข้อมูลตำแหน่งนั้น scores[2:4] = [] print( scores ) # โปรแกรมทำการปรินต์ค่า # [85, 62, 50]
เทคนิคการสร้างลิสต์ของข้อมูล
เราสามารถจะใช้เทคนิคการสร้างลิสต์ของข้อมูลเพื่อการสร้างลิสต์ของข้อมูลใหม่ โดยในชุดคำสั่งประกอบด้วยคำสั่งสำหรับสร้างข้อมูล(expression) แล้วตามด้วยชุดคำสั่งสำหรับกำหนดจำนวนข้อมูลระบุภายใน for และซึ่งชุดคำสั่งทั้งหมดนี้จะกำหนดขอบเขตอยู่ภายในเครื่องหมาย []
ตัวอย่างการใช้งาน
# สร้างลิสต์ของข้อมูลใหม่ ซึ่งเป็นชุดข้อมูลของเลขยกกำลังของสอง โดยระบุเลขชี้กำลังภายในขอบเขตตัวเลขที่กำหนด(0-4) pow2 = [2**x for x in range(5)] print( pow2 ) # โปรแกรมทำการปรินต์ค่า # [1, 2, 4, 8, 16]
การสร้างลิสต์แบบนี้ตัวอย่างข้างต้น เป็นการสร้างชุดข้อมูลของเลขยกกำลังของสอง โดยระบุเลขชี้กำลังของชุดข้อมูลที่ระบุ ซึ่งคำสั่งทั้งหมดอยู่ภายในบรรทัดเดียวกัน
นอกจากการเขียนในรูปแบบดังกล่าว เราสามารถจะเพิ่มลูป(for statement) หรือเงื่อนไข(if statement) เพิ่มเติมเข้าไปได้อีก เพื่อเป็นเงื่อนไขในการกรองข้อมูลสำหรับสร้างลิสต์ใหม่
ตัวอย่างการใช้งาน
# สร้างลิสต์ของข้อมูลใหม่ โดยเป็นเลขยกกำลังของสอง จากเลขชี้กำลังภายในขอบเขตตัวเลขที่กำหนด(0-4) โดยเลือกเฉพาะเลขชี้กำลังที่มีค่ามากกว่าหรือเท่ากับ 2 pow2 = [2**x for x in range(5) if x > 2] print( "Power of 2: ", pow2 ) # โปรแกรมทำการปรินต์ค่า # Power of 2: [8, 16] # สร้างลิสต์ของข้อมูลใหม่ โดยเป็นตัวเลขในขอบเขตที่กำหนด(0-19) และตัวเลขดังกล่าวต้องเป็นเลขคี่ odd = [x for x in range(20) if x % 2 == 1] print( "Odd : ", odd ) # โปรแกรมทำการปรินต์ค่า # Odd : [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
ตรวจสอบข้อมูลในลิสต์ ว่ามีข้อมูลที่ระบุอยู่หรือไม่
เราสามารถจะทำการตรวจสอบว่า มีข้อมูลที่ระบุอยู่ในลิสต์หรือไม่ได้ โดยใช้คีย์เวิร์ด “in”
ตัวอย่างการใช้งาน
# สร้างตัวแปรประเภทลิสต์เพื่อเก็บข้อมูลรายชื่อนักเรียน
students = ["David", "Peter", "Mary"]
# ทำการตรวจสอบว่าในตัวแปร เก็บข้อมูลนักเรียนที่ชื่อ "David" ไว้หรือไม่
print("David" in students)
# โปรแกรมทำการปรินต์ค่า
# True
# ทำการตรวจสอบว่าในตัวแปร เก็บข้อมูลนักเรียนที่ชื่อ "Nicole" ไว้หรือไม่
print("Nicole" in students)
# โปรแกรมทำการปรินต์ค่า
# False
# ทำการตรวจสอบว่าในตัวแปร เก็บข้อมูลนักเรียนที่ชื่อ "Mary" ไว้หรือไม่
print("Mary" in students)
# โปรแกรมทำการปรินต์ค่า
# True
ทำการเข้าถึงของมูลทั้งหมดในลิสต์
เราสามารถใช้ for loop เพื่อทำการเข้าถึงข้อมูลแต่ละตัวในลิสต์
ตัวอย่างการใช้งาน
# สร้างตัวแปรประเภทลิสต์เพื่อเก็บข้อมูลรายชื่อนักเรียน
students = ["David", "Peter", "Mary"]
# ใช้ for loop เพื่อเข้าถึงข้อมูลแต่ละตัวในลิสต์ตามลำดับ
for name in students:
print("name: ", name)
# โปรแกรมทำการปรินต์ค่า
# name: David
# name: Peter
# name: Mary
ฟังก์ชันของลิสต์ที่สามารถใช้งานได้
ฟังก์ชันของออบเจคประเภทลิสต์ที่สามารถเรียกใช้งานได้
| ชื่อฟังก์ชัน | รายละเอียด |
| append() | ทำการเพิ่มข้อมูลใหม่ลงไปที่ตำแหน่งสุดท้ายของลิสต์ |
| extend() | ทำการเพิ่มข้อมูลทั้งหมดจากลิสต์หนึ่ง ลงไปยังอีกลิสต์หนึ่ง |
| insert() | ทำการเพิ่มข้อมูลลงไปในลิสต์ตามตำแหน่งที่ระบุ |
| remove() | ทำการลบข้อมูลที่ระบุออกจากลิสต์ |
| pop() | ทำการลบและคืนค่าข้อมูลตัวสุดท้ายหรือตามตำแหน่งที่ระบุออกจากลิสต์ |
| clear() | ทำการลบข้อมูลทั้งหมดออกจากลิสต์ให้เหลือเป็นลิสต์ว่าง |
| index() | ทำการคืนค่าตำแหน่งของข้อมูลตัวแรกที่พบตามเงื่อนไขที่ระบุ |
| count() | คืนค่าจำนวนของข้อมูลจากค่าข้อมูลที่ระบุเข้าไปเป็นเงื่อนไข |
| sort() | ทำการเรียงลำดับข้อมูลในลิสต์โดยค่าตั้งต้นจะเรียงลำดับจากน้อยไปมาก |
| reverse() | ทำการเรียงลำดับข้อมูลในลิสต์กลับลำดับของการเรียงลำดับข้อมูลในทิศทางตรงข้าม |
| copy() | ทำการคัดลอกข้อมูลของลิสต์( shallow copy ) |
ฟังก์ชัน built-in ที่สามารถใช้งานร่วมกับลิสต์
ฟังก์ชันทั่วไปที่สามารถใช้ร่วมกับออบเจคประเภทลิสต์ได้
| ชื่อฟังก์ชัน | รายละเอียด |
| all() | จะคืนค่า True ถ้าข้อมูลทุกตัวในลิสต์เป็น True หรือลิสต์ดังกล่าวเป็นลิสต์ว่าง |
| any() | จะคืนค่า True ถ้าข้อมูลตัวใดตัวหนึ่งในลิสต์เป็น True |
| enumerate() | จะคืนค่า enuerate object โดยจะมีข้อมูลของ index และ value ของข้อมูลในลิสต์(ข้อมูลออกมาในรูปแบบข้อมูลชนิด tuple) |
| len() | จะคืนค่าจำนวนของข้อมูลในลิสต์ |
| list() | จะแปลงลิสต์ให้ iterate ได้ |
| max() | จะคืนค่า ข้อมูลที่มีค่ามากที่สุดในลิสต์ |
| min() | จะคืนค่า ข้อมูลที่มีค่าน้อยที่สุดในลิสต์ |
| sorted() | จะคืนลิสต์ใหม่ของข้อมูลที่ถูกทำการเรียงลำดับใหม่(ไม่ได้ทำการแก้ไขลิสต์เดิม) |
| sum() | จะคืนค่า ผลรวมของทุกข้อมูลในลิสต์ |
ที่มาของข้อมูล:
https://www.w3schools.com/python/python_ref_list.asp
