[Python for Beginner] EP.5 : Python Collections (set)

[Python for Beginner]  EP.5 : Python Collections (set)

[Python for Beginner]  EP.5 : Python Collections (set)

สวัสดีครับ กลับมาอีกครั้งกับ Artisan Brain Academy ต่อเนื่องจากตอนที่แล้วเราพูดถึง Collections : tuple กันไป และวันนี้ Python for Beginner EP.5 : Python Collections (set) ขอนำเสนอ collection ที่ชื่อว่า Set

ซึ่งเจ้าข้อมูล Set นี้จะเป็นข้อมูลที่จะไม่เรียงข้อมูลกันเลย หมายความว่า ถ้าหากเราใส่ดังนี้

basket = {‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’}

ผลลัพธ์ที่ได้จะเป็นข้อมูลที่ ไม่ซ้ำกัน และ ข้อมูลจะไม่เรียงเหมือนที่เราได้ตั้งค่าไว้เริ่มแรก!!!! แต่จะมีฟังก์ชั่นทางคณิตศาตร์ ได้แก่ union, intersection, difference and symmetric difference เราไม่ดูการทำงานฟังก์ชั่นเหล่านี้กัน

หากต้องการค้นว่าใน basket มี orange ไหมเราสามารถใช้ท่านี้ได้

found_orange = ‘orange’ in basket
if found_orange:
print(“found”)
else:
print(“not found”)

เรามาดูกันอีกตัวอย่างกันนะครับ

basket_one = {‘apple’, ‘orange’, ‘apple’, ‘pear’, ‘orange’, ‘banana’}
basket_two = {‘apple’, ‘banana’}

ถ้าต้องการอยากทราบว่า set b เป็น subset ของ set a หรือไม่จะใช้คำสั่งนี้

basket_two.issubset(basket_one) # True
basket_two <= basket_one # True

ถ้าต้องการดูว่าข้อมูลทั้ง 2 sets รวมกันว่ามีอะไรบ้างจะใช้คำสั่งว่า union หรือ |

basket_one.union(basket_one) # {‘apple’, ‘banana’, ‘orange’, ‘pear’}
basket_one | basket_two # {‘apple’, ‘banana’, ‘orange’, ‘pear’}

ถ้าต้องการดูข้อมูลว่าทั้ง 2 sets มีอะไรที่เหมือนกันจะใช้คำสั่งว่า intersection หรือ &

basket_one & basket_two # {‘apple’, ‘banana’}
basket_one.intersection(basket_two) # {‘apple’, ‘banana’}

ถ้าต้องการดูข้อมูลทั้ง 2 sets มีอะไรที่ set one ไม่ซ้ำกับ set two ใช้คำสั่งว่า difference หรือ –

basket_one – basket_two # {‘orange’, ‘pear’}
basket_one.difference(basket_two) # {‘orange’, ‘pear’}

ถ้าต้องการดูข้อมูลว่าทั้ง 2 sets มีอะไรที่ไม่ซ้ำกันจะใช้คำสั่งว่า symmetric_difference หรือ ^

basket_one ^basket_two # {‘orange’, ‘pear’}
basket_one.symmetric_difference(basket_two) # {‘orange’, ‘pear’}

สรุปว่าการใช้ Set นั้นเหมาะกับข้อมูล 2 ชุดขึ้นไป ที่ต้องการหาข้อมูลที่ซ้ำ / ไม่ซ้ำกันออกมาเป็นต้น เช่นดึงข้อมูลวันหยุดพนักงานมาทั้งหมด แล้วอยากรู้ว่าปีนี้ พนักงานทั้งหมดลาหยุดวันไหนกันบ้าง และวันหยุดวันไหนที่มีคนลาเยอะที่สุด

หวังว่าบทความนี้ จะเป็นประโยชน์กันบ้างนะครับผม แล้วพบกัน Python EP 6 นะครับ

Happy Coding!!!!

อ่านบทความเกี่ยวกับ set เพิ่มเติมได้ที่ นี่

Recent Posts

SQL Database Deployment Model

Microsoft Azure SQL Database [Deployment Model]

Deployment Model   เป็นบริการในรูปแบบPlatform as a Serviceของระบบฐานข้อมูลDatabaseบนโครงสร้างของMicrosoft AzureโดยมีDeployment Options ดังต่อไปนี้ 

Read More »
Microsoft App Serviceคืออะไร?

Microsoft Azure App Service คืออะไร?

Azure App Service เป็นอีกหนึ่งในบริการยอดนิยมของ Microsoft ที่ถูกใช้บริการมากที่สุด บริการนี้มีเครื่องมือที่จำเป็นเเละตอบโจทย์เป็นอย่างมากสำหรับ Developer ที่ต้องการมุ่งเน้นเเละให้ความสำคัญไปกับการพัฒนา Application

Read More »