Page 1 of 1

Python - ตัวแปรชนิด Set

Posted: 21/03/2015 7:02 pm
by chbbk
Set ใน python คือ list ที่ข้อมูลไม่ซ้ำกัน
สิ่งที่จะเป็น set ได้ต้องเป็น object ที่มีคุณสมบัติ iterable ได้เท่านั้น
object ที่มีคุณสมบัติ iterable เช่น list, tuple, string, dict


การแปลงข้อมูลเป็น set ใช้คำสั่ง set()

Code: Select all

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)
ผลที่ได้

Code: Select all

a = [1, 2, 3]
b = [1, 2, 3]
c = ['1', '3', '2'] 
issubset
เช็คว่าเป็นซับเซตของเซตที่กำหนดหรือไม่ ค่าที่ได้จะเป็น Boolean
a.issubset(b) --> ถ้าทุกตัวใน a เป็น b จะ return True

Code: Select all

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))
ผลที่ได้

Code: Select all

a issubset b -->  True
b issubset a -->  False
issuperset
เช็คว่าเป็นซูเปอร์เซ็ตของเซ็ตที่กำหนดหรือไม่ ค่าที่ได้เป็น Boolean
a.issuperset(b) --> ถ้าทุกตัวใน b เป็น a จะ return True

Code: Select all

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))
ผลที่ได้

Code: Select all

a issuperset b -->  False
b issuperset a -->  True
union
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ตที่นำมารวมกัน

Code: Select all

a = (1,2,3,3)
b = (1,2,3,4)
print 'a union b --> ',(set(a)).union(set(b))
ผลที่ได้

Code: Select all

a union b -->  [1, 2, 3, 4]
intersection
a.intersection(b)
สร้างเซ็ตใหม่ที่มีข้อมูลเหมือนกันจากเซ็ต a และ b

Code: Select all

a = (1,2,3,3)
b = (1,2,3,4)
print 'a intersection b --> ',(set(a)).intersection(set(b))
ผลที่ได้

Code: Select all

a intersection b -->  [1, 2, 3]
difference
a.difference(b)
สร้างเซ็ตใหม่ที่มีข้อมูลจากเซ็ต a แต่ข้อมูลนั้นต้องไม่อยู่ในเซ็ต b

Code: Select all

a = (1,2,3,3,5)
b = (1,2,4)
print 'a difference b --> ',(set(a)).difference(b)
ผลที่ได้

Code: Select all

a difference b -->  [3, 5]
symmetric_difference
a.symmetric_difference(b)
สร้างเซ็ตใหม่จากเซ็ต a และเซ็ต b แต่ต้องไม่อยู่ในทั้งสองเซ็ต

Code: Select all

a = (1,2,3,3,5)
b = (1,2,4)
print 'a symmetric_difference b --> ',(set(a)).symmetric_difference(b)
ผลที่ได้

Code: Select all

a symmetric_difference b --> [3, 4, 5]
.

Re: Python - ตัวแปรชนิด Set

Posted: 25/09/2019 9:09 pm
by mindphp
สำหรับการคำนวณ ประโยชน์มาก