Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore แบบฝึกทักษะที่ 4 โครงสร้างข้อมูลภาษา Python

แบบฝึกทักษะที่ 4 โครงสร้างข้อมูลภาษา Python

Published by 63julalux, 2021-03-24 14:25:38

Description: แบบฝึกทักษะที่ 4 โครงสร้างข้อมูลภาษา Python

Search

Read the Text Version

แบบฝึ กทกั ษะโปรแกรมภาษา Python จุฬาลักษณ์ ถาไชยลา ภาควชิ าคอมพวิ เตอรธ์ ุรกิจ วทิ ยาลยั อาชีวศึกษามหาสารคาม

แบบฝึ กทกั ษะที่ 4 โครงสร้างข้อมูลภาษา Python ****************** รู้จักตวั แปรลสิ ต์ (List) List (ลิสต)์ คอื โครงสร้างขอ้ มูลชนิดหน่ึงในภาษา Python ทใ่ี ชเ้ กบ็ ขอ้ มูลแบบลาดบั (Sequence) โดยมี Index เป็นตวั ระบตุ าแหน่งในการเขา้ ถึงขอ้ มูล สามารถใช้ List เพอื่ เก็บขอ้ มลู จานวนมากและหลากหลายประเภทใน เวลาเดียวกนั List เป็ นประเภทขอ้ มูลท่ีใชอ้ ยา่ งหลากหลายในการเขยี นโปรแกรม นอกจากน้ี ในภาษา Python ยงั มี built-in function ที่สามารถทางานกบั List และใน List ออบเจค็ เองกม็ ีเมธอดต่างๆ เป็นจานวนมากท่ชี ่วยอานวย ความสะดวกในการเขยี นโปรแกรม การประกาศ List น้นั ขอ้ มูลของมนั จะอยภู่ ายในเคร่ืองหมาย [] และคนั่ สมาชิก แต่ละตวั ดว้ ยเคร่ืองหมายคอม ตัวอย่างที่ 1 การประกาศและใช้งาน List

ผล RUN ตวั อย่างท่ี 2 การเข้าถงึ ข้อมูลภายใน List List ใช้ Index สาหรับการเขา้ ถึงขอ้ มูล โดย Index ของ List จะเป็นจานวนเตม็ ที่เร่ิมจาก 0 และเพม่ิ ข้นึ ทลี ะ 1 ไปเร่ือยๆ ดงั น้นั เราจงึ สามารถเขา้ ถึงขอ้ มูลภายใน List เพอื่ อ่านหรืออพั เดทคา่ ไดโ้ ดยตรงผา่ น Index ของมนั

ผล RUN ตวั อย่างท่ี 3 การอ่านค่าใน List ด้วยคาสั่ง For loop เน่ืองจาก List น้นั เกบ็ ขอ้ มลู เป็นแบบลาดบั และใช้ Index ในการเขา้ ถึงขอ้ มูล ดงั น้นั จงึ มกั จะใชค้ าสงั่ วนซ้า สาหรับการเขยี นโปรแกรมทีท่ างานกบั List เพราะทาใหก้ ารทางานรวดเร็วและงา่ ยข้นึ เช่น การใชค้ าสง่ั วนซ้าวนอ่าน ค่าใน List ทมี่ ีขอ้ มูลเป็นจานวนมาก เป็นตน้

ผล RUN ตัวอย่างที่ 4 List slicing การตดั ขอ้ มูลจาก List หน่ึงแลว้ นาไปสร้างเป็น List ใหม่ได้ โดยวธิ ีน้ีเรียกกวา่ slicing ในการตดั ขอ้ มลู ใน List น้นั จะทาในรูปแบบ [a:b] เม่ือ a เป็น Index เร่ิมตน้ และ b เป็น Index ก่อนสมาชิกตวั สุดทา้ ยท่ีตอ้ งการตดั

ผล RUN ตัวอย่างท่ี 5 การใช้งานคาสั่ง del เพอ่ื ลบข้อมูลใน List คาสงั่ del เป็ นคาสง่ั ที่ใชส้ าหรับลบตวั แปรใดๆ ออกไปจากหน่วยความจาหรือใชย้ กเลิกตวั แปรท่เี คยประกาศ ไปแลว้ สามารถใชค้ าสงั่ del เพอ่ื ลบสมาชิกภายใน List ไดเ้ ช่นเดียวกนั

ผล RUN Tuples ในภาษา Python Tuple จะคลา้ ยกบั List แต่ส่ิงที่แตกตา่ งกนั คือ Tuple เป็ นประเภทขอ้ มูลท่ไี ม่สามารถเปล่ียนแปลงได้ (Immutable) หรือกล่าวอีกนยั หน่ึง หลงั จากท่ีประกาศตวั แปรและกาหนดคา่ ใหก้ บั Tuple แลว้ มนั จะไม่สามารถ เปลี่ยนแปลงค่าไดใ้ นภายหลงั ในขณะท่ี List สามารถทาได้ จงึ มกั จะใชเ้ กบ็ ขอ้ มูลทม่ี ีประเภทแตกตา่ งกนั ซ่ึงจะ

ทางานไดด้ ีกวา่ List และในการใชง้ าน Loop กบั Tuple จะเพมิ่ ความเร็วข้นึ เลก็ นอ้ ย นอกจากน้ียงั สามารถใช้ Tuple เป็นค่าคงท่สี าหรบั ขอ้ มูลท่ไี ม่ตอ้ งการใหเ้ ปล่ียนแปลงได้ ตัวอย่างที่ 6 การประกาศ Tuple ในภาษา Python ผล RUN ตัวอย่างที่ 7 การเข้าถงึ สมาชิกภายใน Tuple

การเขา้ ถึงสมาชิกภายใน Tuple จะใช้ Index เช่นเดียวกบั List โดยสมาชิกตวั แรกจะมี Index เป็นศนู ย์ และ สาหรับสมาชิกตวั ต่อไปจะเพมิ่ ข้ึนทีละ 1 Tuple มกั จะใชก้ บั ประเภทขอ้ มูลทแ่ี ตกต่างกนั และสมาชิกของมนั จะไม่ สามารถเปล่ียนแปลงค่าได้ นนั่ คือ Tuple สามารถอ่านไดเ้ พยี งอยา่ งเดียว ผล RUN ตวั อย่างท่ี 8 การอ่านค่าใน Tuple ด้วยคาสั่ง For loop

เน่ืองจาก Tuple น้นั เป็นขอ้ มูลแบบ Sequence เช่นเดียวกบั List ดงั น้นั จงึ สะดวกท่จี ะใชค้ าสง่ั วนซ้า เช่น For loop เพอื่ วนอ่านขอ้ มูลใน Tuple การใช้ For loop เพอ่ื วนอ่านค่าใน Tuple ในลูปแรกเป็นการวนอ่านค่าในตวั แปร numbers แบบทีละคา่ ดว้ ย การใชค้ าสง่ั in ในการวนแต่ละรอบโปรแกรมจะนาค่าภายใน Tuple มาเกบ็ ไวใ้ นตวั แปร n ในลูปท่สี องเป็นการใช้ For loop เพอ่ื สรา้ ง Index ต้งั แต่ 0 ถึงตวั สุดทา้ ยและเขา้ ถึงคา่ ของ Tuple ผา่ นทาง Index ของมนั ผล RUN ตวั อย่างที่ 9 Tuple slicing

ในการทางานกบั Tuple สามารถแบง่ มนั ออกเป็นส่วนยอ่ ยๆ ไดเ้ ช่นเดียวกบั List ดว้ ยวิธีการทเ่ี รียกวา่ Slicing โดยปกติแลว้ มกั จะใชส้ าหรบั คดั ลอกขอ้ มูลจาก Tuple เดิมเพอ่ื สร้างอนั ใหม่ ซ่ึงการ slice น้นั จะทาในรูปแบบ ของ Index ของ Tuple [start:end] ผล RUN

Dictionary ในภาษา Python Dictionary คอื ประเภทขอ้ มูลท่เี กบ็ ขอ้ มลู ในรูปแบบคู่ของ Key และ Value โดยที่ Key ใชส้ าหรบั เป็น Index ในการเขา้ ถึงขอ้ มูลและ Value เป็ นคา่ ขอ้ มูลทส่ี อดคลอ้ งกบั Key ของมนั การเขา้ ถึงขอ้ มูลใน Dictionary น้นั รวดเร็ว เพราะวา่ ขอ้ มูลไดถ้ ูกทา Index ไวอ้ ตั โนมตั โิ ดยใช้ Key นอกจากน้ี Dictionary ยงั มีเมธอดและฟังกช์ นั อานวยความ สะดวกสาหรบั การทางานทวั่ ไป ตัวอย่างที่ 10 การประกาศ Dictionary ในภาษา Python การใชง้ าน Dictionary จะใชเ้ ก็บขอ้ มูลทส่ี ามารถใชบ้ างอยา่ งทีส่ ามารถจาแนกขอ้ มูลออกจากกนั ได้ โดย กาหนดใหส้ ่ิงน้นั เป็ น Key การประกาศ Dictionary สมาชิกของมนั จะอยภู่ ายในวงเลบ็ ปี กกา {} ผล RUN

ตัวอย่างท่ี 11 การเข้าถงึ ข้อมลู ภายใน Dictionary การเขา้ ถึงขอ้ มลู เพอ่ื อ่านและอพั เดทขอ้ มลู โดยผา่ นทาง Key ของมนั ผล RUN

ตัวอย่างที่ 12 การอ่านค่าใน Dictionary ด้วยคาส่ัง For loop คาสงั่ For loop เป็ นคาสงั่ ทยี่ ดื หยนุ่ และสามารถใชง้ านไดอ้ ยา่ งหลากหลาย ในการอ่านคา่ ใน Dictionary น้นั เราสามารถใช้ For loop เพอ่ื วนอ่านค่าท้งั Key และ Values ใน Dictionary ได้ มาดูตวั อยา่ งของโปรแกรม ผล RUN

ตัวอย่างที่ 13 Python Dictionary methods Dictionary มีเมธอดทีส่ ามารถทางานกบั มนั ไดง้ ่ายข้ึน โดยส่วนมากแลว้ มกั จะเป็ นเมธอดในการอพั เดทและ รบั คา่ ขอ้ มูลภายใน Dictionary ผล RUN

Set ในภาษา Python Set (เซ็ต) เป็ นออบเจค็ ทใี่ ชส้ าหรบั เกบ็ ขอ้ มูลทไ่ี ม่ซ้ากนั ในการเขยี นโปรแกรมสามารถใช้ Set สาหรบั หา ค่าที่ไม่ซ้ากนั ภายในลิสต์ ตรวจสอบขอ้ มูลทม่ี อี ยแู่ ลว้ หรือการดาเนินการทางคณิตศาสตร์เก่ียวกบั Set ได้ เช่น Intersection, Union, Difference และ Symmetric difference ตัวอย่างท่ี 14 การประกาศและใช้งาน Set Set เป็นออบเจค็ จากคลาส set เราสามารถใชม้ นั เพอื่ สรา้ งออบเจค็ ของ Set สาหรับเกบ็ ขอ้ มูลทไี่ มซ่ ้ากนั ใน ภาษา Python เราสามารถสร้างเซ็ตไดห้ ลายวิธี ผล RUN

ตัวอย่างท่ี 15 การเกบ็ ค่าใน Set Set เป็ นออบเจค็ ท่ใี ชส้ าหรบั เก็บค่าทีไ่ ม่ซ้ากนั เทา่ น้นั ถา้ หากเรากาหนดค่าทซ่ี ้ากนั ใหก้ บั Set ในตอน ประกาศออบเจค็ ค่าน้นั จะถูกเก็บใน Set เพยี งคร้ังเดียวเท่าน้นั ผล RUN ตัวอย่างท่ี 16 การนับจานวนใน Set เพอื่ นบั ขอ้ มูลภายใน Set สามารถใชฟ้ ังกช์ นั len() ได้ ฟังกช์ นั น้ีส่งคา่ กลบั เป็ นจานวนสมาชิกทไ่ี มซ่ ้ากนั ท้งั หมดภายใน Set ผล RUN

ตัวอย่างที่ 17 การเพม่ิ และลบข้อมลู ออกจาก Set  เมธอด add(value): เพม่ิ ขอ้ มลู เขา้ ไปยงั Set ถา้ คา่ ดงั กล่าวมีในเซ็ตอยแู่ ลว้ เมธอดน้ีไม่ทาอะไร  เมธอด remove(value): ลบขอ้ มูลออกจาก Set ในการใชเ้ มธอดน้ี ถา้ คา่ ทีต่ อ้ งการลบไม่มอี ยใู่ น Set จะส่ง ขอ้ ผดิ พลาด KeyError ข้ึน  เมธอด discard(value): สาหรบั ลบขอ้ มูลออกจาก Set ถา้ หากค่าดงั กล่าวมีอยู่  เมธอด clear(): ลบขอ้ มูลท้งั หมดออกจาก Set นนั่ จะทาใหเ้ ซ็ตวา่ งหลงั จากเรียกเมธอดน้ี  เมธอด pop(): นาขอ้ มูลออกจาก Set และส่งค่ากลบั มา ค่าทส่ี ่งกลบั จากเมธอดน้ีไม่สามารถคาดเดาได้ และถา้ เซ็ตเป็นเซ็ตวา่ ง เมธอดทาใหเ้ กิดขอ้ ผดิ พลาด KeyError ข้นึ ผล RUN

ตัวอย่างที่ 18 การตรวจสอบค่าใน Set เม่ือตอ้ งทางานกบั Set อาจตอ้ งการตรวจสอบวา่ มีค่าท่ตี อ้ งการคน้ หาอยภู่ ายใน Set หรือไม่ ในภาษา Python เราสามารถใชต้ วั ดาเนินการ in และ not in สาหรับตรวจสอบคา่ ภายใน Set ได้ ผล RUN

ตวั อย่างท่ี 19 การดาเนินการเกี่ยวกบั Set ในทางคณิตศาสตร์ เซ็ตมีการดาเนินการพ้นื ฐานอยู่ 4 อยา่ งคือ Intersection, Union, Difference และ Symmetric difference ซ่ึงในภาษา Python น้นั มฟี ังกช์ นั ท่เี ราสามารถใชง้ านสาหรับการดาเนินการพ้นื ฐานเหล่าน้ีได้ อยา่ งง่ายดาย ผล RUN

ตวั อย่างที่ 20 การวนรอบข้อมูลใน Set ในภาษา Python เราสามารถวนรอบขอ้ มูลภายใน Set ไดห้ ลายวธิ ี ในตวั อยา่ งน้ีเราจะแสดงวธิ ีการวนรอบ ขอ้ มูลภายในเซ็ตแบบงา่ ยๆ คอื การใชค้ าสง่ั for loop ผล RUN

ตัวอย่างที่ 21 frozenset frozenset น้นั เป็นออบเจค็ ของ Set ที่ถูกออกแบบมาเพอื่ ไม่ใหส้ ามารถเปล่ียนแปลงค่าได้ นนั่ หมายความวา่ เมื่อออบเจค็ ถูกสรา้ ง เราไม่สามารถเพม่ิ ค่าเขา้ ไปยงั เซ็ตดว้ ยเมธอด add() หรือลบค่าออกจากเซ็ตน้นั นน่ั ทาใหอ้ อบ เจค็ ของเซ็ตประเภทน้ีสามารถอ่านคา่ ไดอ้ ยา่ งเดียว ผล RUN ******************


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook