پائتھن کورس کا لیکچر 22۔ سیٹس کا تعارف، منفرد، غیر ترتیب شدہ اشیاء کو ذخیرہ کرنے کے لیے ایک ڈیٹا ساخت۔
سیٹ کیا ہے؟
ایک سیٹ پائتھن میں اشیاء کے مجموعے کو ذخیرہ کرنے کے لیے ایک اور ڈیٹا ساخت ہے۔ یہ ایک فہرست سے بہت ملتی جلتی ہے، لیکن دو بہت اہم اختلافات کے ساتھ:
- سیٹس غیر ترتیب شدہ ہیں: ایک سیٹ میں اشیاء کی کوئی متعین ترتیب نہیں ہوتی۔ آپ انڈیکس کا استعمال کرتے ہوئے اشیاء تک رسائی حاصل نہیں کر سکتے۔
- سیٹس صرف منفرد اشیاء کو ذخیرہ کرتے ہیں: ایک سیٹ میں نقل شدہ عناصر نہیں ہو سکتے۔ اگر آپ ایک ایسی آئٹم شامل کرنے کی کوشش کرتے ہیں جو پہلے ہی سیٹ میں موجود ہے، تو اسے صرف نظر انداز کر دیا جائے گا۔
سیٹس بہت مفید ہوتے ہیں جب آپ یہ یقینی بنانا چاہتے ہیں کہ آپ کے پاس کوئی نقل شدہ اندراجات نہیں ہیں، مثال کے طور پر، کسی ویب سائٹ پر منفرد زائرین کی فہرست۔
ایک سیٹ بنانا
آپ set() فنکشن کا استعمال کرتے ہوئے ایک فہرست پر ایک سیٹ بنا سکتے ہیں، یا کرلی بریسز {} کے اندر اشیاء رکھ کر (لیکن کلیدی-قدر جوڑوں کے بغیر)۔
# Create a set from a list with duplicates
numbers_list = [1, 2, 2, 3, 4, 4, 4, 5]
unique_numbers = set(numbers_list)
print(unique_numbers) # Output: {1, 2, 3, 4, 5} (duplicates are gone, order may vary)
# Create a set directly with curly braces
fruits = {'apple', 'banana', 'cherry'}
print(fruits)اہم: ایک خالی سیٹ بنانے کے لیے، آپ کو set() فنکشن استعمال کرنا چاہیے، نہ کہ {}۔ خالی کرلی بریسز {} کا استعمال ایک خالی ڈکشنری بنائے گا، سیٹ نہیں۔
empty_s = set() # Correct way to create an empty set
empty_d = {} # This creates an empty dictionaryاشیاء شامل کرنا اور ہٹانا
اگرچہ سیٹس غیر ترتیب شدہ ہیں، وہ mutable ہیں۔ آپ اشیاء شامل اور ہٹا سکتے ہیں۔
vowels = {'a', 'e', 'i', 'o'}
# Add a single item with .add()
vowels.add('u')
print(vowels) # Output: {'a', 'e', 'i', 'o', 'u'}
# Add a duplicate item (it will be ignored)
vowels.add('a')
print(vowels) # Output: {'a', 'e', 'i', 'o', 'u'} (no change)
# Remove an item with .remove()
vowels.remove('a')
print(vowels) # Output: {'e', 'i', 'o', 'u'}
# If you try to remove an item that isn't there, you will get an error.
# A safer way is to use .discard(), which will not cause an error.
vowels.discard('z') # Does nothing, no errorلیکچر کا خلاصہ
آپ نے سیٹس کے بارے میں سیکھا ہے، جو منفرد اشیاء کے غیر ترتیب شدہ مجموعوں کو ذخیرہ کرنے کے لیے ایک ڈیٹا ساخت ہے۔ آپ جانتے ہیں کہ انہیں کیسے بنانا ہے، اور ان کی اہم خصوصیت یہ ہے کہ وہ خود بخود نقل شدہ اشیاء کو ہٹا دیتے ہیں۔ آپ نے سیٹ سے اشیاء شامل اور ہٹانا بھی سیکھا۔
اگلی بار
ہم دیکھیں گے کہ آپ ڈیٹا کی ساختوں کو دوسری ڈیٹا کی ساختوں کے اندر کیسے رکھ سکتے ہیں، ایک طاقتور تصور جسے نیسٹنگ کہتے ہیں۔
لیکچر 21: ڈکشنریوں کے ساتھ کام کرنا

