การจัดเก็บข้อมูลเป็นสิ่งที่จำเป็นสำหรับทุกโดเมนในโลกปัจจุบัน Python มีโครงสร้างข้อมูลประเภทต่างๆเพื่อจัดระเบียบข้อมูลของคุณและโครงสร้างข้อมูลเหล่านี้เป็นส่วนสำคัญของ . ในบรรดาโครงสร้างข้อมูลทั้งหมดที่มีอยู่ใน Python บางส่วนไม่สามารถเปลี่ยนแปลงได้และบางส่วนไม่เปลี่ยนรูป ในบทความนี้ฉันจะพูดถึงหนึ่งในชุดเหล่านี้เช่น ชุดใน Python เป็นโครงสร้างข้อมูลที่เปลี่ยนแปลงได้ทำซ้ำได้และไม่เรียงลำดับ นี่คือคำแนะนำโดยย่อของทั้งหมดที่ได้รับการกล่าวถึงเพิ่มเติม
Set in Python คืออะไร?
เมื่อใดควรใช้ชุดใน Python
คุณสร้างชุดได้อย่างไร?
ตั้งค่าการทำงาน
- การหาความยาวของชุด
- การเข้าถึงองค์ประกอบชุด
- การเพิ่มองค์ประกอบในชุด
- การลบองค์ประกอบชุด
- สหภาพชุด
- จุดตัดของชุด
- ความแตกต่างของชุด
มาเริ่มกันเลย. :-)
Set in Python คืออะไร?
โดยทั่วไปชุดข้อมูลจะประกอบด้วยชุดขององค์ประกอบที่ไม่เรียงลำดับ องค์ประกอบเหล่านี้สามารถอยู่ในประเภทข้อมูลเป็นชุดซึ่งแตกต่างจาก ,ไม่เจาะจงประเภท. ชุดสามารถเปลี่ยนแปลงได้ (เปลี่ยนแปลงได้) และไม่มีสำเนาขององค์ประกอบซ้ำ ค่าของชุด are unindexed ดังนั้น indexinไม่สามารถดำเนินการ g ในชุดได้
ตัวอย่าง:
My_Set = {1, 's', 7.8} พิมพ์ (My_Set)
เอาท์พุต: {‘s’, 1, 7.8}
ผลลัพธ์จะแสดงองค์ประกอบทั้งหมดที่มีอยู่ My_Set
บันทึก: เซตโดยรวมสามารถเปลี่ยนแปลงได้ แต่องค์ประกอบของเซตไม่เปลี่ยนแปลง
ตอนนี้คุณรู้แล้วว่าอะไรคือเซ็ตใน Python เรามาทำความเข้าใจว่าเมื่อใดควรใช้เซต
เมื่อใดควรใช้ชุดใน Python
ชุดใน Python ใช้เมื่อ -
- ลำดับของข้อมูลไม่สำคัญ
- คุณไม่จำเป็นต้องมีการทำซ้ำในองค์ประกอบข้อมูล
- คุณต้องดำเนินการทางคณิตศาสตร์เช่นยูเนี่ยนจุดตัด ฯลฯ
ตอนนี้ให้เราไปข้างหน้าและดูวิธีสร้างชุดใน Python
คุณสร้างชุดใน Python ได้อย่างไร?
ชุดใน Python สามารถสร้างได้สองวิธี -
- การปิดองค์ประกอบภายในวงเล็บปีกกา
- โดยใช้ฟังก์ชัน set ()
1. การใช้วงเล็บปีกกา:
ชุดใน Python สร้างขึ้นโดยใช้วงเล็บปีกกา ({})
ตัวอย่าง:
My_Set = {1, 's', 7.8} พิมพ์ (My_Set)
เอาท์พุต: {‘s’, 1, 7.8}
อย่างที่คุณเห็น My_Set ถูกสร้างขึ้น
2. การใช้ฟังก์ชัน set ()
ชุดใน Python สามารถสร้างได้โดยใช้ฟังก์ชัน set ()
ตัวอย่าง:
a = set ({1, 'b', 6.9}) พิมพ์ (a)
เอาท์พุต: {1, 'b', 6.9}
คุณยังสามารถสร้างชุดว่างโดยใช้ฟังก์ชันเดียวกันได้
ตัวอย่าง:
Empty_Set = set () พิมพ์ (Empty_Set)
เอาท์พุต: ชุด ()
ผลลัพธ์ด้านบนแสดงชุดว่างที่ชื่อ Empty_Set ได้ถูกสร้างขึ้น
คุณสามารถเพิ่มองค์ประกอบให้กับชุดว่างนี้ ฉันจะกล่าวถึงในหัวข้อต่อไปนี้
ตั้งค่าการทำงาน
การดำเนินการหลายอย่างสามารถทำได้กับชุดเช่นการเพิ่มองค์ประกอบการลบองค์ประกอบการค้นหาความยาวของชุดเป็นต้นหากต้องการทราบวิธีการทั้งหมดที่สามารถใช้ได้กับชุดคุณสามารถใช้ ถึงคุณ() ฟังก์ชัน
ตัวอย่าง:
My_Set = {1, 's', 7.8} dir (My_Set)
เอาท์พุต:
['__ และ __', '__ class __', '__ มี __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__hash__', ' __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __or__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', ' __xor__ ',' เพิ่ม ',' ล้าง ',' คัดลอก ',' ความแตกต่าง ',' difference_update ',' ทิ้ง ',' สี่แยก ',' Intersection_update ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'ลบ', 'สมมาตร_difference', 'สมมาตร_difference_update', 'union', 'update']
ผลลัพธ์จะแสดงวิธีการทั้งหมดที่สามารถใช้ได้กับชุด ฉันจะสาธิตบางส่วนเพิ่มเติมในบทความนี้
การหาความยาวของชุด
หากต้องการหาความยาวของชุดใน Python คุณสามารถใช้ฟังก์ชัน len () ฟังก์ชันนี้ใช้ชื่อของชุดเป็นพารามิเตอร์และส่งกลับค่าจำนวนเต็มซึ่งเท่ากับจำนวนองค์ประกอบที่มีอยู่ในชุด
ตัวอย่าง:
My_Set = {1, 's', 7.8} len (My_Set)
เอาท์พุต: 3
ดังที่คุณเห็นในเอาต์พุตด้านบนมีการส่งคืน 3 ซึ่งเท่ากับจำนวนองค์ประกอบที่มีอยู่ใน My_Set ตอนนี้องค์ประกอบเหล่านี้สามารถเข้าถึงได้เช่นกันซึ่งแสดงไว้ด้านล่าง
ความแตกต่างระหว่างการดำเนินการและการขยาย
การเข้าถึงองค์ประกอบของชุด
ไม่สามารถเข้าถึงองค์ประกอบชุดโดยใช้หมายเลขดัชนีเนื่องจากตามที่ระบุไว้ก่อนหน้านี้องค์ประกอบของชุดจะไม่ได้รับการจัดทำดัชนี ดังนั้นเมื่อคุณต้องการเข้าถึงองค์ประกอบของชุดคุณสามารถวนซ้ำและเข้าถึงองค์ประกอบของชุดนั้นได้
ตัวอย่าง:
My_Set = {1, 's', 7.8} สำหรับ x ใน My_Set: print (x)
เอาท์พุต:
s 1 7.8
ดังที่คุณเห็นในผลลัพธ์ลำดับจะแตกต่างจากลำดับขององค์ประกอบที่ให้มาในชุด นี่เป็นเพราะองค์ประกอบไม่ได้เรียงลำดับ
การเพิ่มองค์ประกอบในชุด:
สามารถเพิ่มองค์ประกอบลงในชุดได้โดยใช้สองฟังก์ชันคือ เพิ่ม() และ ปรับปรุง () ฟังก์ชัน
ฟังก์ชัน add () จะเพิ่มองค์ประกอบหนึ่งในชุดที่มีอยู่ดังที่แสดงด้านล่าง:
ตัวอย่าง:
My_Set = {1, 's', 7.8} My_Set.add (3) My_Set
เอาท์พุต: {1, 3, 7.8, 's'}
ฟังก์ชัน update () ใช้เมื่อคุณต้องการเพิ่มองค์ประกอบมากกว่าหนึ่งองค์ประกอบในชุดที่มีอยู่
ตัวอย่าง:
My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set
เอาท์พุต: {1, 2, 4.6, 7.8, 'r', 's'}
ดังที่คุณเห็นในเอาต์พุตด้านบนฟังก์ชัน update () กำลังรับรายการ 4 ค่าและค่าทั้งหมดยกเว้น 1 จะถูกเพิ่มลงใน My_Set เนื่องจาก 1 มีอยู่แล้วในชุดดังนั้นจึงไม่สามารถเพิ่มได้อีก
การลบองค์ประกอบของชุด
ในการลบองค์ประกอบออกจากชุดคุณสามารถใช้ไฟล์ ลบ () ทิ้ง() และ ป๊อป () ฟังก์ชั่น.
ฟังก์ชัน remove () รับหนึ่งพารามิเตอร์ซึ่งเป็นรายการที่จะลบออกจากชุด
ตัวอย่าง:
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) พิมพ์ (My_Set)
เอาท์พุต: {1, 4.6, 7.8, 'r', 's'}
อย่างที่คุณเห็น 2 ถูกลบออกจากชุดโดยใช้ฟังก์ชัน remove () ในกรณีที่คุณระบุบางองค์ประกอบเป็นพารามิเตอร์เพื่อลบ () ที่ไม่มีอยู่ในชุดจะทำให้เกิดข้อผิดพลาด
ตอนนี้หากคุณต้องการลบองค์ประกอบบางส่วนออกจากชุดและหากคุณไม่แน่ใจว่าองค์ประกอบนั้นมีอยู่ในชุดจริงหรือไม่คุณสามารถใช้ฟังก์ชัน discard () ได้ ฟังก์ชันนี้จะนำองค์ประกอบที่จะลบออกจากชุดเป็นพารามิเตอร์ แต่ในกรณีที่ไม่มีองค์ประกอบอยู่จะไม่เกิดข้อผิดพลาด
ตัวอย่าง:
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') พิมพ์ (My_Set)
เอาท์พุต: {1, 2, 7.8, 'r', 's'}
ผลลัพธ์ด้านบนแสดงว่า 4.6 ได้ถูกลบออกจาก My_Set แล้ว แต่ discard () ไม่ได้ทำให้เกิดข้อผิดพลาดเมื่อฉันใช้ My_Set.discard ('i') แม้ว่า 'i' จะไม่มีอยู่ในชุดของฉันก็ตาม
ฟังก์ชัน pop () ยังลบองค์ประกอบชุด แต่เนื่องจากชุดไม่เรียงลำดับคุณจะไม่ทราบว่าองค์ประกอบใดถูกลบ
ตัวอย่าง:
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () พิมพ์ (My_Set)
เอาท์พุต: {2, 4.6, 7.8, 'r', 's'}
ผลลัพธ์แสดงให้เห็นว่าการใช้ pop () องค์ประกอบสุ่มบางอย่างถูกลบออกซึ่งในกรณีนี้คือ 1
ตอนนี้ในกรณีที่คุณต้องการลบองค์ประกอบทั้งหมดที่มีอยู่ในชุดคุณสามารถใช้ไฟล์ ชัดเจน() วิธี.
ตัวอย่าง:
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () พิมพ์ (My_Set)
เอาท์พุต: ชุด ()
ดังที่คุณเห็นในผลลัพธ์ด้านบน My_Set เป็นชุดว่าง
ในกรณีที่คุณต้องการลบชุดทั้งหมดคุณสามารถใช้ไฟล์ ของ คำสำคัญ.
ตัวอย่าง:
My_Set = {1, 2, 4.6, 7.8, 'r', 's'} เดล My_Set พิมพ์ (My_Set)
เมื่อคุณเรียกใช้โค้ดด้านบนจะทำให้เกิดข้อผิดพลาดเนื่องจาก My_Set ถูกลบ
คุณยังสามารถดำเนินการทางคณิตศาสตร์ต่างๆในเซตเช่นยูเนี่ยนจุดตัดความแตกต่าง ฯลฯ ซึ่งจะกล่าวถึงด้านล่าง
สหภาพชุด
การรวมกันของชุดหมายถึงการต่อชุดตั้งแต่สองชุดขึ้นไปให้เป็นชุดเดียวโดยการเพิ่มองค์ประกอบที่ไม่ซ้ำกันทั้งหมดที่มีอยู่ในทั้งสองชุด สามารถทำได้สองวิธี:
- การใช้ท่อ
- การใช้ฟังก์ชัน union ()
ใช้สัญลักษณ์ไปป์ไลน์:
สองชุดสามารถต่อกันได้โดยใช้ | สัญลักษณ์ดังต่อไปนี้:
ตัวอย่าง:
a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b พิมพ์ (a | b)
เอาท์พุต: {1, 2, 4.6, 5, 7.8, ‘r’, ‘abc’, ‘s’, ‘d’}
ดังที่คุณเห็นในเอาต์พุตด้านบนการรวมกันของชุด a และชุด b จะถูกเก็บไว้ในชุดใหม่ c คุณสามารถเชื่อมต่อมากกว่าสองชุดได้เช่นกันโดยใช้ | สัญลักษณ์.
ตัวอย่าง:
a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c พิมพ์ (d)
เอาท์พุต:
{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}
ใช้วิธีการยูเนี่ยน ():
ในการต่อชุดสองชุดขึ้นไปคุณสามารถใช้วิธีการยูเนี่ยน () ได้ดังนี้:
ตัวอย่าง:
a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} พิมพ์ (' ตั้งค่า U b = ', a.union (b)) print (' Set a U b U c = ', a.union (b, c))
เอาท์พุต:
ตั้งค่า U b = {1, 2, 4.6, 5, 7.8, ‘r’, ‘abc’, ‘s’, ‘d’}
ตั้งค่า U b U c = {1, 2, 4.6, 5, 4.7, 7.8, ‘r’, 76, 23, ‘abc’, ‘m’, ‘s’, ‘d’}
ผลลัพธ์ข้างต้นแสดงให้เห็นว่า d คือการรวมกันของเซต a, b และ c
จุดตัดของชุด
จุดตัดของสองชุดขึ้นไปคือชุดใหม่ที่ประกอบด้วยเฉพาะองค์ประกอบทั่วไปที่มีอยู่ในชุดเหล่านั้น
สามารถทำได้สองวิธี:
- ใช้สัญลักษณ์ '&'
- การใช้ฟังก์ชันจุดตัด ()
ใช้สัญลักษณ์ '&':
คุณสามารถกำหนดจุดตัดของสองชุดขึ้นไปโดยใช้สัญลักษณ์ '&' ดังนี้:
ตัวอย่าง:
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} พิมพ์ (a & b) พิมพ์ (a & b & c)
เอาท์พุต:
{2, 5} {2}
เอาต์พุตด้านบนแสดงการรวมกันของเซต a, b และ c
การใช้ฟังก์ชันจุดตัด ():
คุณสามารถกำหนดจุดตัดของสองชุดขึ้นไปโดยใช้ฟังก์ชันจุดตัด () ดังนี้:
ตัวอย่าง:
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a จุดตัด b = ', a. ทางแยก (b)) พิมพ์ (' ตั้งค่าจุดตัด b จุดตัด c = ', a. ทางแยก (b, c))
เอาท์พุต:
กำหนดจุดตัด b = {2, 5}
ตั้งจุดตัด b จุดตัด c = {2}
เอาต์พุตด้านบนแสดงจุดตัดของเซต a, b และ c
ความแตกต่างของชุด:
ความแตกต่างของชุดจะทำให้เกิดชุดใหม่ที่ประกอบด้วยองค์ประกอบที่มีอยู่ในชุดเหล่านั้นเท่านั้น ซึ่งหมายความว่าองค์ประกอบทั้งหมดยกเว้นองค์ประกอบทั่วไปของชุดเหล่านั้นจะถูกส่งกลับ
สามารถทำได้สองวิธี:
- โดยใช้สัญลักษณ์ '-'
- ใช้ฟังก์ชัน difference ()
การใช้สัญลักษณ์ '-':
หากต้องการค้นหาความแตกต่างของสองชุดโดยใช้สัญลักษณ์ '-' คุณสามารถทำได้ดังนี้:
ตัวอย่าง:
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} พิมพ์ (a-b-c)
เอาท์พุต: {1, 4.6, 7.8, 'r', 's'}
เอาต์พุตประกอบด้วยองค์ประกอบทั้งหมดของเซต 'a' ยกเว้นองค์ประกอบที่มีอยู่ใน 'b' และ 'c'
การใช้ฟังก์ชันความแตกต่าง ():
ความแตกต่างของเซตสามารถกำหนดได้โดยใช้ฟังก์ชันความแตกต่างในตัว () ดังนี้:
ตัวอย่าง:
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a - b = ', a.difference (b)) print (' Set a - b - c = ', a.difference (b, c))
เอาท์พุต:
กำหนด a - b = {1, 4.6, 7.8, ‘r’, ‘s’}
กำหนด a - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}
ผลลัพธ์ข้างต้นเป็นผลลัพธ์ของความแตกต่างโดยใช้ฟังก์ชัน difference ()
ตอนนี้ถ้าคุณไม่ต้องการเปลี่ยนองค์ประกอบของชุดของคุณเลยคุณสามารถใช้ประโยชน์จากชุดแช่แข็งซึ่งจะกล่าวถึงด้านล่าง.
ชุดแช่แข็งคืออะไร?
ชุดที่ตรึงใน Python คือชุดที่ไม่สามารถแก้ไขค่าได้ ซึ่งหมายความว่ามันไม่เปลี่ยนรูปไม่เหมือนชุดปกติที่ฉันได้พูดถึงไปก่อนหน้านี้ ชุดแช่แข็งช่วยทำหน้าที่เป็นคีย์ในคู่คีย์ - ค่าของพจนานุกรม
จะสร้างเซตแช่แข็งได้อย่างไร?
สามารถรับเซ็ตแช่แข็งได้โดยใช้วิธี Frozenset () ฟังก์ชันนี้จะนำรายการที่ทำซ้ำได้และแปลงเป็นไม่เปลี่ยนรูป
ตัวอย่าง:
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) พิมพ์ (b)
เอาท์พุต: Frozenset ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})
เอาต์พุตข้างต้นประกอบด้วยชุด b ซึ่งเป็นเวอร์ชันแช่แข็งของชุด a
การเข้าถึงองค์ประกอบของชุดแช่แข็ง
สามารถเข้าถึงองค์ประกอบของเซตแช่แข็งได้โดยการวนลูปดังนี้:
ตัวอย่าง:
b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) สำหรับ x ใน b: print (x)
เอาท์พุต:
หนึ่ง
2
4.6
5
7.8
เอส
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'Sets in Python' และเราจะติดต่อกลับโดยเร็วที่สุด
หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสด ด้วยการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต