ชุดใน Python คืออะไรและจะใช้อย่างไร?



เรียนรู้ว่าชุดใน Python คืออะไรวิธีสร้างพร้อมกับการดำเนินการต่างๆ คุณจะได้เรียนรู้เกี่ยวกับเซตที่เยือกแข็งและการสร้างใน Python

การจัดเก็บข้อมูลเป็นสิ่งที่จำเป็นสำหรับทุกโดเมนในโลกปัจจุบัน Python มีโครงสร้างข้อมูลประเภทต่างๆเพื่อจัดระเบียบข้อมูลของคุณและโครงสร้างข้อมูลเหล่านี้เป็นส่วนสำคัญของ . ในบรรดาโครงสร้างข้อมูลทั้งหมดที่มีอยู่ใน Python บางส่วนไม่สามารถเปลี่ยนแปลงได้และบางส่วนไม่เปลี่ยนรูป ในบทความนี้ฉันจะพูดถึงหนึ่งในชุดเหล่านี้เช่น ชุดใน Python เป็นโครงสร้างข้อมูลที่เปลี่ยนแปลงได้ทำซ้ำได้และไม่เรียงลำดับ นี่คือคำแนะนำโดยย่อของทั้งหมดที่ได้รับการกล่าวถึงเพิ่มเติม

Set in Python คืออะไร?
เมื่อใดควรใช้ชุดใน Python
คุณสร้างชุดได้อย่างไร?
ตั้งค่าการทำงาน





Frozen Sets คืออะไร?

มาเริ่มกันเลย. :-)



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
เอส

ผลลัพธ์ด้านบนแสดงให้เห็นว่าการใช้ for loop องค์ประกอบทั้งหมดของเซต b ที่ถูกตรึงจะถูกส่งกลับทีละรายการ ชุดที่แช่แข็งไม่เปลี่ยนรูปดังนั้นคุณไม่สามารถดำเนินการเช่น add (), remove (), update () ฯลฯ หวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทช่วยสอนนี้ เรามาถึงตอนท้ายของบทความเรื่อง Sets ใน Python ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'Sets in Python' และเราจะติดต่อกลับโดยเร็วที่สุด

หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสด ด้วยการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต