Python Set เป็นประเภทคอลเลกชันที่มี ไม่เรียงลำดับ คอลเลกชั่น เอกลักษณ์ และไม่เปลี่ยนรูป วัตถุ กล่าวอีกนัยหนึ่ง ชุด Python ไม่สามารถเก็บรายการที่ซ้ำกัน และเมื่อสร้างชุดแล้ว รายการจะไม่สามารถเปลี่ยนแปลงได้
หมายเหตุ:ไอเท็มในชุดจะไม่เปลี่ยน ซึ่งหมายความว่าเราไม่สามารถเปลี่ยนแปลงไอเท็มได้ อย่างไรก็ตาม ตัวชุดนั้นเปลี่ยนแปลงได้ กล่าวคือ เราสามารถเพิ่มและลบรายการออกจากชุดได้ไม่รักษาระเบียบ ตัวอย่างเช่น ทุกครั้งที่คุณพิมพ์ชุดเดียวกัน ลำดับของรายการอาจแตกต่างกัน
ใน Python ชุดถูกสร้างขึ้นโดยใช้วงเล็บปีกกา {}
และแต่ละรายการในชุดคั่นด้วยเครื่องหมายจุลภาค ,
.
เช่นเดียวกับรายการ Python ชุดสามารถมีวัตถุได้หลายประเภท ดังนั้นจึงไม่จำเป็นต้องเป็นสตริงหรือจำนวนเต็ม ตัวอย่างเช่น เราสามารถมีชุดที่มีประเภทผสม:
mixedTypesSet = {'one', True, 13, 2.0}
วิธีสร้างชุด
colorsSet = {"red", "green", "blue"}
print(colorsSet)
เอาท์พุต:
{'red', 'blue', 'green'}
วิธีเข้าถึงรายการของชุด
เราไม่สามารถใช้ดัชนีเพื่อเข้าถึงรายการในชุดได้ เนื่องจากชุดนั้นไม่ได้เรียงลำดับและไม่ได้รักษาดัชนีไว้ อย่างไรก็ตาม เราสามารถใช้ for
วนซ้ำผ่านรายการในชุด
colorsSet = {"red", "green", "blue"}
for c in colorsSet:
print(c)
เอาท์พุต:
green
red
blue
วิธีการเพิ่มรายการในชุด
หากต้องการเพิ่มหนึ่งรายการในชุด เราจำเป็นต้องใช้ add()
วิธีการ
หากต้องการเพิ่มมากกว่าหนึ่งรายการในชุด เราจำเป็นต้องใช้ update()
วิธีการ
กำลังเพิ่มหนึ่งรายการ
colorsSet = {"red", "green", "blue"}
colorsSet.add("yellow")
print(colorsSet)
เอาท์พุต:
{'blue', 'red', 'green', 'yellow'}
การเพิ่มมากกว่าหนึ่งรายการ
colorsSet = {"red", "green", "blue"}
colorsSet.update(["yellow", "orange", "white"])
print(colorsSet)
เอาท์พุต:
{'white', 'red', 'green', 'yellow', 'orange', 'blue'}
วิธีการลบรายการออกจากชุด
มีสองวิธีในการลบรายการออกจากชุด:remove()
และ discard()
.
remove()
วิธีลบรายการที่ระบุ หากไม่มีรายการอยู่ remove()
จะทำให้เกิดข้อผิดพลาด
colorsSet = {"red", "green", "blue", "orange"}
colorsSet.remove("orange")
print(colorsSet)
เอาท์พุต:
{'blue', 'green', 'red'}
discard()
วิธีลบรายการที่ระบุ หากไม่มีรายการอยู่ discard()
จะ ไม่ ทำให้เกิดข้อผิดพลาด
ลบองค์ประกอบทั้งหมดของชุด
ในการลบองค์ประกอบทั้งหมดและทำให้ชุดว่าง เราใช้ clear()
วิธีการ:
colorsSet = {"red", "green", "blue", "orange"}
colorsSet.clear()
print(colorsSet)
เอาท์พุต:
set()
ลบชุดทั้งหมด
หากต้องการลบชุดทั้งหมด ให้ใช้ del
คีย์เวิร์ด:
colorsSet = {"red", "green", "blue", "orange"}
del colorSet
print(colorsSet)
เอาท์พุต:
Traceback (most recent call last):
File "pythonSet.py", line 78, in <module>
del colorSet
NameError: name 'colorSet' is not defined
วิธีรับความยาวของชุด
คุณสามารถกำหนดความยาวได้โดยเรียก len()
วิธีการ เช่น
colorsSet = {"red", "green", "blue", "orange"}
print(len(colorsSet))
เอาท์พุต:
4
วิธีการรวมสองชุดเข้าด้วยกัน
วิธีที่ง่ายที่สุดในการรวมสองชุดเข้าด้วยกันคือการใช้ union()
เมธอดที่ส่งคืนชุดใหม่ที่มีรายการจากชุดที่เชื่อมต่อ
colorsSet = {"red", "green", "blue", "orange"}
numbersSet = {1, 2, 3, 4}
numbersAndColors = colorsSet.union(numbersSet)
print(numbersAndColors)
เอาท์พุต:
{1, 2, 'blue', 3, 4, 'green', 'red', 'orange'}