Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ชุดหลาม

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'}