Python - ตัวแปรชนิด Set
โพสต์แล้ว: 21/03/2015 7:02 pm
Set ใน python คือ list ที่ข้อมูลไม่ซ้ำกัน
สิ่งที่จะเป็น set ได้ต้องเป็น object ที่มีคุณสมบัติ iterable ได้เท่านั้น
object ที่มีคุณสมบัติ iterable เช่น list, tuple, string, dict
การแปลงข้อมูลเป็น set ใช้คำสั่ง set()
ผลที่ได้
issubset
เช็คว่าเป็นซับเซตของเซตที่กำหนดหรือไม่ ค่าที่ได้จะเป็น Boolean
a.issubset(b) --> ถ้าทุกตัวใน a เป็น b จะ return True
ผลที่ได้
issuperset
เช็คว่าเป็นซูเปอร์เซ็ตของเซ็ตที่กำหนดหรือไม่ ค่าที่ได้เป็น Boolean
a.issuperset(b) --> ถ้าทุกตัวใน b เป็น a จะ return True
ผลที่ได้
union
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ตที่นำมารวมกัน
ผลที่ได้
intersection
a.intersection(b)
สร้างเซ็ตใหม่ที่มีข้อมูลเหมือนกันจากเซ็ต a และ b
ผลที่ได้
difference
a.difference(b)
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ต a แต่ข้อมูลนั้นต้องไม่อยู่ในเซ็ต b
ผลที่ได้
symmetric_difference
a.symmetric_difference(b)
สร้างเซ็ตใหม่จากเซ็ต a และเซ็ต b แต่ต้องไม่อยู่ในทั้งสองเซ็ต
ผลที่ได้
.
สิ่งที่จะเป็น set ได้ต้องเป็น object ที่มีคุณสมบัติ iterable ได้เท่านั้น
object ที่มีคุณสมบัติ iterable เช่น list, tuple, string, dict
การแปลงข้อมูลเป็น set ใช้คำสั่ง set()
โค้ด: เลือกทั้งหมด
a = [1, 2, 3, 3]
b = (1, 2, 3, 3, 3)
c = "123333"
print 'a =',set(a)
print 'b = ',set(b)
print 'c = ',set(c)
โค้ด: เลือกทั้งหมด
a = [1, 2, 3]
b = [1, 2, 3]
c = ['1', '3', '2']
เช็คว่าเป็นซับเซตของเซตที่กำหนดหรือไม่ ค่าที่ได้จะเป็น Boolean
a.issubset(b) --> ถ้าทุกตัวใน a เป็น b จะ return True
โค้ด: เลือกทั้งหมด
a = (1,2,3,3)
b = (1,2,3,4)
print 'a issubset b --> ',(set(a)).issubset(set(b))
print 'b issubset a --> ',(set(b)).issubset(set(a))
โค้ด: เลือกทั้งหมด
a issubset b --> True
b issubset a --> False
เช็คว่าเป็นซูเปอร์เซ็ตของเซ็ตที่กำหนดหรือไม่ ค่าที่ได้เป็น Boolean
a.issuperset(b) --> ถ้าทุกตัวใน b เป็น a จะ return True
โค้ด: เลือกทั้งหมด
a = (1,2,3,3)
b = (1,2,3,4)
print 'a issuperset b --> ',(set(a)).issuperset(set(b))
print 'b issuperset a --> ',(set(b)).issuperset(set(a))
โค้ด: เลือกทั้งหมด
a issuperset b --> False
b issuperset a --> True
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ตที่นำมารวมกัน
โค้ด: เลือกทั้งหมด
a = (1,2,3,3)
b = (1,2,3,4)
print 'a union b --> ',(set(a)).union(set(b))
โค้ด: เลือกทั้งหมด
a union b --> [1, 2, 3, 4]
a.intersection(b)
สร้างเซ็ตใหม่ที่มีข้อมูลเหมือนกันจากเซ็ต a และ b
โค้ด: เลือกทั้งหมด
a = (1,2,3,3)
b = (1,2,3,4)
print 'a intersection b --> ',(set(a)).intersection(set(b))
โค้ด: เลือกทั้งหมด
a intersection b --> [1, 2, 3]
a.difference(b)
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ต a แต่ข้อมูลนั้นต้องไม่อยู่ในเซ็ต b
โค้ด: เลือกทั้งหมด
a = (1,2,3,3,5)
b = (1,2,4)
print 'a difference b --> ',(set(a)).difference(b)
โค้ด: เลือกทั้งหมด
a difference b --> [3, 5]
a.symmetric_difference(b)
สร้างเซ็ตใหม่จากเซ็ต a และเซ็ต b แต่ต้องไม่อยู่ในทั้งสองเซ็ต
โค้ด: เลือกทั้งหมด
a = (1,2,3,3,5)
b = (1,2,4)
print 'a symmetric_difference b --> ',(set(a)).symmetric_difference(b)
โค้ด: เลือกทั้งหมด
a symmetric_difference b --> [3, 4, 5]