Devdit
💬 Set Python คืออะไร ต่างจาก List และ Tuple ยังไง
Cat

Set Python คืออะไร

Set ต่างยังไงกับ List และ Tuple

Set ใน Python คือตัวแปรชนิดหนึ่งที่สามารถเก็บค่าได้มากกว่าหนึ่งค่า และหลายชนิดพร้อมกันได้ใน 1 Set

Set สามารถเพิ่มกับลบข้อมูลได้ แต่ไม่สามารถแก้ไขกับเก็บข้อมูลซ้ำได้

Set ต่างจาก List ตรงที่ Set ไม่สามารถเก็บค่าซ้ำได้

Set ต่างจาก Tuple ตรงที่ Set สามารถเปลี่ยนแปลงข้อมูลได้

Set ไม่มีลำดับข้อมูล จึงไม่สามารถเข้าถึงข้อมูลได้ผ่านลำดับเหมือน List และ Tuple

Devdit
Cat

ขอตัวอย่างการสร้างตัวแปร Set ใน Python

my_set = {8, 'orange', -123.456}

สร้างตัวแปร Set ชื่อ my_set พร้อมค่าข้อมูล 3 ค่า

Devdit
โฆษณา
Cat

แล้วจะเข้าถึงข้อมูลใน Set Python ได้ยังไง

สามารถเข้าถึงข้อมูลใน Set ผ่านการวนลูป

my_set = {8, 'orange', -123.456}
for value in my_set:
    print(value)
// ผลลัพธ์
8
orange
-123.456
Devdit
Cat

ขอวิธีจัดการข้อมูลใน Set ของ Python

1. เพิ่มข้อมูลใน Set

my_set = {8, 'orange', -123.456}
my_set.add('white')

ใช้คำสั่ง add สำหรับเพิ่มข้อมูลลงใน Set ของ Python

2. แก้ไขข้อมูลใน Set

my_set = {8, 'orange', -123.456}
my_set.remove(8)

ใช้คำสั่ง remove สำหรับลบข้อมูลใน Set ของ Python

Devdit
โฆษณา
Cat

แล้วสามารถค้นหาข้อมูลใน Set ของ Python ได้ไหม

สามารถค้นหาได้โดยใช้คำสั่ง in

my_set = {8, 'orange', -123.456}
if 'orange' in my_set:
    print('found orange')
else:
    print('not found orange')
// ผลลัพธ์
found orange

จากตัวอย่างค้นหาคำว่า orange จาก my_set โดยใช้คำสั่ง in ร่วมกับ if

Devdit
Cat

แล้วถ้าเก็บข้อมูลซ้ำใน Set จะเกิด Error ไหม

จะไม่เกิด Error แต่จะแสดงค่าซ้ำเพียงค่าเดียว

my_set = {8, 8, 8, 'orange', 'orange', -123.456, -123.456}
print(my_set)
// ผลลัพธ์
{8, 'orange', -123.456}
Devdit
โฆษณา
Cat

ถ้าต้องการเก็บข้อมูลหลายค่า หลายชนิด และแสดงค่าซ้ำเพียงค่าเดียวการเลือกใช้ Set ของ Python จึงเป็นตัวเลือกที่ดี

เห็นด้วย การจะเลือกชนิดตัวแปรแบบใดก็ตาม ต้องเลือกให้เหมาะสมกับงาน

Devdit