ازگر پروگرامنگ زبان میں چار قسم کے ڈیٹا اقسام ہیں۔ فہرست ، tuple ، سیٹ اور . لیکن مجموعہ کے طور پر جانا جاتا ایک بلٹ ان ماڈیول بھی آتا ہے جس میں خصوصی ڈیٹا ڈھانچے ہوتے ہیں جو بنیادی طور پر چاروں ڈیٹا اقسام کی کوتاہیوں کو پورا کرتے ہیں۔ اس بلاگ میں ، ہم ان میں سے ہر ایک خصوصی ڈیٹا ڈھانچے کو تفصیل سے دیکھیں گے۔ مندرجہ ذیل مضامین اس بلاگ میں شامل ہیں:
ازگر میں مجموعے کیا ہیں؟
ازگر میں جمع بنیادی طور پر کنٹینر ڈیٹا کی اقسام ہیں ، یعنی فہرستیں ، سیٹ ، ٹپل ، لغت۔ ان کے اعلان اور استعمال کی بنیاد پر مختلف خصوصیات ہیں۔
ایک فہرست مربع خط وحدانیت میں اعلان کی گئی ہے ، یہ تغیر پزیر ہے ، نقالی اقدار کو اسٹور کرتا ہے اور اشاریہ جات کا استعمال کرکے عناصر تک رسائی حاصل کی جاسکتی ہے۔
ایک ٹپل کا آرڈر دیا گیا ہے اور فطرت میں ناقابل تبدیلی ہے ، حالانکہ نقل کے اندراجات اس ٹیپل کے اندر ہوسکتے ہیں۔
ایک سیٹ غیر منظم اور مربع بریکٹ میں اعلان کیا جاتا ہے۔ اس کی اشاریہ بندی نہیں کی گئی ہے اور اس میں ڈپلیکیٹ اندراجات بھی نہیں ہیں۔
ایک لغت میں کلیدی قدر کے جوڑے ہوتے ہیں اور یہ فطرت میں تبدیل ہوتا ہے۔ ایک لغت کا اعلان کرنے کے لئے ہم مربع بریکٹ استعمال کرتے ہیں۔
یہ ہتھیاروں کا عمومی مقصد بلٹ میں کنٹینر ڈیٹا کی اقسام ہیں۔ لیکن جیسا کہ ہم سب جانتے ہیں ، ازگر کے پاس ہمیشہ تھوڑا سا اضافی پیش کش ہوتا ہے۔ یہ مجموعہ کے نام سے ایک ازگر ماڈیول کے ساتھ آتا ہے جس میں ڈیٹا کے خصوصی ڈھانچے ہوتے ہیں۔
خصوصی جمع کرنے والے ڈیٹا سٹرکچرز
مجموعہ ازگر میں ماڈیول خصوصی اعداد و شمار کے ڈھانچے کو نافذ کرتا ہے جو ازبر کے بلٹ میں کنٹینر ڈیٹا اقسام کا متبادل فراہم کرتے ہیں۔ جمع کرنے والے ماڈیول میں اعداد و شمار کے خصوصی ڈھانچے مندرجہ ذیل ہیں۔
- نامی ٹپل ()
- اور
- سلسلہ نقشہ
- کاؤنٹر
- آرڈرڈکٹ
- پہلے سے طے شدہ
- یوزرڈکٹ
- صارف کی فہرست
- یوزر اسٹریننگ
نامی ٹپل ()
یہ نامزد اندراج کے ساتھ ایک ٹپل واپس کرتا ہے ، جس کا مطلب ہے کہ اس ٹیوپل میں ہر ایک قدر کو تفویض کردہ ایک نام ہوگا۔ اس نے اشاریہ کی قدروں کا استعمال کرتے ہوئے عناصر تک رسائی کے مسئلے پر قابو پالیا ہے۔ نامزد ٹپل () کے ساتھ ان اقدار تک رسائی آسان ہوجاتی ہے ، چونکہ آپ کو مخصوص عناصر حاصل کرنے کے ل index انڈیکس اقدار کو یاد رکھنے کی ضرورت نہیں ہے۔
یہ کیسے کام کرتا ہے؟
سب سے پہلے ، آپ کو جمع ماڈیول درآمد کرنا ضروری ہے ، اس کی تنصیب کی ضرورت نہیں ہے۔
Qtp اور سیلینیم کے درمیان فرق
مجموعہ درآمد نام سے
یہ سمجھنے کے لئے درج ذیل کوڈ پر نظر ڈالیں کہ آپ کس طرح ناموں کا استعمال کرسکتے ہیں۔
a = نديمٹپل ('کورسز' ، 'نام ، ٹیک') s = a ('ڈیٹا سائنس' ، 'ازگر') پرنٹ (زبانیں) # آؤٹ پٹ کورسز ہوں گے (نام = 'ازگر' ، ٹیک = 'ازگر')
ایک فہرست کا استعمال کرتے ہوئے ایک नेमٹپل کیسے بنائیں؟
s._make (['ڈیٹا سائنس' ، 'ازگر']) # آؤٹ پٹ پہلے کی طرح ہوگا۔
اور
اعزاز کو ’ڈیک‘ کے بطور قرار دیا جاتا ہے تاکہ اضافے اور حذف آسانی سے انجام دی جاسکے۔
یہ کیسے کام کرتا ہے؟
# مجموعہ درآمد سے کسی قابل کو پیدا کرنا deque a = ['d'، 'u'، 'r'، 'e'، 'k'] a1 = deque (a) پرنٹ (a1) # آؤٹ پٹ مستحق ہوگا (['' ڈی '،' یو '،' ر '،' ای '،' کے '])
اب آئیے اس پر ایک نظر ڈالتے ہیں کہ ہم کس طرح سے اشیاء کو داخل اور اس سے خارج کریں گے۔
a1.append ('a') پرنٹ (a1) # پیداوار مستحق ہوگی ([['d'، 'u'، 'r'، 'e'، 'k'، 'a']) a1.appendleft (' e ') پرنٹ (a1) # پیداوار مستحق ہوگی ([[' e '،' d '،' u '،' r '،' e '،' k '،' a ']))
جیسا کہ واضح ہونا چاہئے ، کسی جز کو داخل کرنے سے آپ کے اجزاء کو بھی ختم کر سکتے ہیں۔
a1.pop () پرنٹ (a1) # پیداوار مستحق ہوگی ([['e'، 'd'، 'u'، 'r'، 'e'، 'k']) a1.popleft () پرنٹ (a1) ) # آؤٹ پٹ مستحق ہوگا ([['d'، 'u'، 'r'، 'ای'، 'کے'])
بلٹ میں موجود ڈیٹا اقسام کی طرح ، بہت سارے دوسرے کام ہیں جو ہم کسی قابل پر انجام دے سکتے ہیں۔ جیسے عناصر کی گنتی کرنا یا اہلیت کو صاف کرنا وغیرہ۔
چین میپ
یہ کلاس کی طرح ایک لغت ہے جو ایک سے زیادہ نقشہ سازی کا ایک نظارہ کرنے کے قابل ہے۔ یہ بنیادی طور پر کئی دیگر لغات کی فہرست لوٹاتا ہے۔ فرض کریں کہ آپ کے پاس متعدد کلیدی قدروں کے جوڑے والی دو لغات ہیں ، اس معاملے میں چین مینپ اس میں دونوں لغات کے ساتھ ایک ہی فہرست بنائے گا۔
یہ کیسے کام کرتا ہے؟
مجموعوں سے چین امپ a = {1: 'اڈیورکا' ، 2: 'پائی ٹھن'} b = {3: 'ڈیٹا سائنس' ، 4: 'مشین لرننگ'} c = چین میپ (ا ، بی) پرنٹ (سی) # درآمد آؤٹ پٹ چینمپ ہوگا [{1: 'ایڈیورکا'، 2: 'ازگر'}، {3: 'ڈیٹا سائنس'، 4: 'مشین لرننگ'}]
عناصر تک رسائی حاصل کرنے یا داخل کرنے کیلئے ہم بٹنوں کو بطور انڈیکس استعمال کرتے ہیں۔ لیکن چین میپ میں ایک نئی لغت شامل کرنے کے لئے ہم مندرجہ ذیل نقطہ نظر کو استعمال کرتے ہیں۔
a1 = {5: 'اے آئی' ، 6: 'عصبی نیٹ ورک'} c1 = c.new_child (a1) پرنٹ (c1) # آؤٹ پٹ چینمپ ہو گا [{1: 'ایڈیورکا' ، 2: 'ازگر'} ، { 3: 'ڈیٹا سائنس' ، 4: 'مشین لرننگ'} ، {5: 'اے آئی' ، 6: 'عصبی نیٹ ورک'}]
کاؤنٹر
یہ ایک لغت ذیلی کلاس ہے جو قابل استعمال اشیاء کو گننے کے لئے استعمال ہوتا ہے۔
یہ کیسے کام کرتا ہے؟
اوبنٹو میں ہڈوپ انسٹال کرنے کا طریقہ
مجموعے سے درآمد کاؤنٹر a = [1،1،1،1،2،3،3،4،3،3،4] c = کاؤنٹر (a) پرنٹ (c) # یہ آؤٹ پٹ کاؤنٹر = ({1: 4 ، 2: 1 ، 3: 4 ، 4: 2})
ایک کارروائی کاؤنٹر پر آپ انجام دے سکتے ہیں اس کے علاوہ مزید 3 آپریشن ہیں جو ہم انجام دے سکتے ہیں۔
- عنصر کی تقریب - یہ کاؤنٹر میں موجود تمام عناصر پر مشتمل ایک فہرست لوٹاتا ہے۔
- Most_common () - یہ کاؤنٹر میں ہر عنصر کی گنتی کے ساتھ چھانٹی گئی فہرست لوٹاتا ہے۔
- سبٹریکٹ () - یہ ایک قابل تکرار شے بطور دلیل لیتا ہے اور کاؤنٹر میں موجود عناصر کی گنتی کو کٹ جاتا ہے۔
آرڈرڈکٹ
یہ ایک لغت ذیلی کلاس ہے جس میں یادیں شامل ہیں جس میں اندراجات شامل کیے گئے تھے۔ بنیادی طور پر ، یہاں تک کہ اگر آپ کلید کی قدر کو تبدیل کرتے ہیں تو ، اس ترتیب میں جس ترتیب میں یہ ڈالا گیا تھا اس کی وجہ سے پوزیشن کو تبدیل نہیں کیا جائے گا۔
یہ کیسے کام کرتا ہے؟
منجانب درآمد آرڈرڈکٹ اوڈ = آرڈرڈکٹ () od [1] = 'ای' گڈ [2] = 'ڈ' اڈ [3] = 'یو' اوڈ [4] = 'ر' اوڈ [5] = 'ای' گڈ []] = 'کے' سے []] = 'ایک' پرنٹ (سے) # آؤٹ پٹ آرڈرڈکٹ ہو جائے گا [(1، 'ای')، (2، 'ڈی')، (3، 'یو')، (4 ، 'آر') ، (5 ، 'ای') ، (6 ، 'کے') ، (7 ، 'ا')]
اس سے کوئی فرق نہیں پڑتا ہے کہ لغت میں کیا قدر داخل کی جاتی ہے ، آرڈرڈکٹ اس ترتیب کو یاد کرتا ہے جس میں یہ ڈالا گیا تھا اور اس کے مطابق پیداوار حاصل کرتا ہے۔ یہاں تک کہ اگر ہم کلید کی قدر کو تبدیل کردیں۔ ہم کہتے ہیں ، اگر ہم کلیدی قیمت 4 سے 8 میں تبدیل کرتے ہیں تو ، آؤٹ پٹ میں آرڈر نہیں بدلے گا۔
پہلے سے طے شدہ
یہ ایک ڈکشنری ذیلی طبقہ ہے جو گمشدہ اقدار کی فراہمی کے لئے فیکٹری فنکشن کا مطالبہ کرتا ہے۔ عام طور پر ، جب کسی لغت میں کوئی گمشدہ کلیدی قیمت طلب کی جاتی ہے تو اس میں کوئی نقص نہیں ہوتا ہے۔
یہ کیسے کام کرتا ہے؟
مجموعوں سے درآمد defaultdict d = defaultdict (int) # ہمیں بھی ایک قسم کی وضاحت کرنا ہوگی۔ d [1] = 'edureka' d [2] = 'ازگر' پرنٹ (d [3]) # یہ آؤٹ پٹ کو کیرئیر کی بجائے 0 کی طرح دے گا۔
یوزرڈکٹ
یہ کلاس لغت کی چیزوں کے گرد لپیٹنے کا کام کرتی ہے۔ اس طبقے کی ضرورت براہ راست ڈیک سے براہ راست ذیلی طبقے کی ضرورت سے آئی۔ اس طبقے کے ساتھ کام کرنا آسان ہوجاتا ہے کیونکہ بنیادی لغت کی صفت ایک صفت بن جاتی ہے۔
کلاس مجموعہ۔ صارف ڈکٹ ([ابتدائی ڈیٹا])
یہ کلاس ایک لغت تیار کرتا ہے۔ مثال کے مواد کو ایک مستقل لغت میں رکھا جاتا ہے جس تک رسائی حاصل کی جا سکتی ہے۔ ابتدائی اعداد و شمار کا حوالہ نہیں رکھا جاتا ہے ، اس لئے کہ اسے دوسرے مقاصد کے لئے استعمال کیا جا.۔
صارف کی فہرست
یہ کلاس فہرست اشیاء کے ارد گرد ریپر کی طرح کام کرتی ہے۔ یہ دوسری فہرست کے ل classes مفید بیس کلاس ہے جیسے کلاس جو ان سے وراثت میں آسکتی ہیں اور موجودہ طریقوں کو نظرانداز کرسکتی ہیں یا یہاں تک کہ اس میں کچھ نئے شامل کرسکتی ہیں۔
اس طبقے کی ضرورت براہ راست فہرست سے براہ راست ذیلی طبقے کی ضرورت سے آئی۔ اس طبقے کے ساتھ کام کرنا آسان ہوجاتا ہے کیونکہ بنیادی فہرست ایک وصف بن جاتی ہے۔
کلاس مجموعہ۔ صارف کی فہرست ([فہرست])
یہ وہ کلاس ہے جو فہرست کو تیار کرتا ہے۔ مثال کے مندرجات کو روایتی فہرست میں رکھا گیا ہے۔ فہرست کے ذیلی طبقوں پر انحصار کیا جاتا ہے کہ وہ کنسٹرکٹر کی پیش کش کرے جس کو بلا یا تو کسی ایک یا بھی تنازعہ کے ساتھ بلایا جاسکتا ہے۔
جاوا کاسٹنگ ڈبل ٹو انٹ
اس بلاگ میں ، ہم نے اعداد و شمار کے خصوصی ڈھانچے کے بارے میں سیکھا ہے جو ازگر میں مجموعہ ماڈیول کے ساتھ آتے ہیں۔ اصلاح سے بہتر کارکردگی اور بہتر نتائج برآمد ہوتے ہیں۔ یہی بات ہمارے اپنے کیریئر اور مہارت پر بھی لاگو ہوتی ہے۔ اگر آپ اپنی تعلیم کو تیز کرنا چاہتے ہیں اور اپنے پروگرامنگ کو محسوس کرنے کے طریقے کو بہتر بنانا چاہتے ہیں تو ، ایڈیورکا کے اندراج میں داخل ہوں اور ازگر کے امکانات کو ختم کریں۔
کوئی سوالات ہیں؟ تبصروں میں ان کا تذکرہ کریں ، اور ہم جلد از جلد آپ کے پاس واپس آجائیں گے۔