تبادلہ خیال ڈکشنری پر تبصرے

نیرنگ خیال

لائبریرین
ڈکشنری میں موجود قدریں دیکھنے کے لیئے کیا طریقہ استعمال کیا جا سکتا ہے؟ اس پر تلاش کا عمل بھی کر سکتے ہیں؟ کیوں کہ ظاہر ہے کہ تین یا چار قدروں کے لیئے تو کوئی بھی موذی میں لغت نہ بنائے گا۔

پس نوشت: مجھے آئٹمز والا فنکشن مل گیا ہے۔ مگر اسکو صعودی یا نزولی ترتیب دینے کا عمل ہو سکتا ہے؟
 

محمداحمد

لائبریرین
ڈکشنری میں موجود قدریں دیکھنے کے لیئے کیا طریقہ استعمال کیا جا سکتا ہے؟ اس پر تلاش کا عمل بھی کر سکتے ہیں؟ کیوں کہ ظاہر ہے کہ تین یا چار قدروں کے لیئے تو کوئی بھی موذی میں لغت نہ بنائے گا۔

پس نوشت: مجھے آئٹمز والا فنکشن مل گیا ہے۔ مگر اسکو صعودی یا نزولی ترتیب دینے کا عمل ہو سکتا ہے؟


تلاش کے لئے ہم in آپریٹر استعمال کرتے ہیں، اس سے ہمیں True یا False میں جواب مل جائے گا:

PHP:
>>> d = {'a':1, 'b':2,'c':3,'d':4}
>>> 'a' in d
True
>>> 'g' in d
False
>>>

ترتیب کا کام بھی ممکن ہے۔ یہ بھی اسی ہفتے بتایا جائے گا۔ :)
 

نیرنگ خیال

لائبریرین
شکریہ میں امید ہے اس ہفتے موذی کو کافی وقت دے پاؤں گا اگر جمعہ کو لاہور نہ چلا گیا :) تو سوالات آتے رہیں گے :)
 
ویسے لسٹ کی طرح ڈکشنری کا کوئی اپنا ترتیبی (sorting) فنکشن نہیں ہے البتہ کچھ اور طریقوں سے اسے ترتیب میں لایا جا سکتا ہے۔

@نیرنگ بھئی اب تم بھرپور فارم میں آ جاؤ کہ اب ہم بنیادی سے ذرا اوپر والے موضوعات کی طرف جا رہے ہیں۔

تمہارے سوالات بہت اہم ہیں کیونکہ سوالات اب وہی کر سکے گا جو کچھ سمجھ رہا ہے۔ :)
 
ڈکشنری میں موجود قدریں دیکھنے کے لیئے کیا طریقہ استعمال کیا جا سکتا ہے؟ اس پر تلاش کا عمل بھی کر سکتے ہیں؟ کیوں کہ ظاہر ہے کہ تین یا چار قدروں کے لیئے تو کوئی بھی موذی میں لغت نہ بنائے گا۔

پس نوشت: مجھے آئٹمز والا فنکشن مل گیا ہے۔ مگر اسکو صعودی یا نزولی ترتیب دینے کا عمل ہو سکتا ہے؟

ڈکشنری میں تلاش کا کام عموما کنجی پر ہوتا ہے اس لیے ہی اسے کنجی بنایا جاتا ہے کیونکہ کنجی کو ڈھونڈ کر اس سے جڑی قدر یا قدریں ڈھونڈنا آسان ہوتا ہے مگر اگر صرف قدر کو دیکھنا ہو تو پھر تھوڑا زیادہ کوڈ لکھنا پڑتا ہے اور یہ عمل کنجی دیکھنے کے مقابلے میں زیادہ وقت لیتا ہے۔ ایک طریقہ احمد نے اوپر بتایا ہے ، دوسرا list comprehension کو استعمال کرکے ہو سکتا ہے۔

PHP:
>>> items = [('name', 'Gumby'), ('age', 42)]
>>> d = dict(items)
>>> [key for (key,value) in d.items() if value == 42]
['age']
 

نیرنگ خیال

لائبریرین
ویسے لسٹ کی طرح ڈکشنری کا کوئی اپنا ترتیبی (sorting) فنکشن نہیں ہے البتہ کچھ اور طریقوں سے اسے ترتیب میں لایا جا سکتا ہے۔

@نیرنگ بھئی اب تم بھرپور فارم میں آ جاؤ کہ اب ہم بنیادی سے ذرا اوپر والے موضوعات کی طرف جا رہے ہیں۔

تمہارے سوالات بہت اہم ہیں کیونکہ سوالات اب وہی کر سکے گا جو کچھ سمجھ رہا ہے۔ :)
میں فارم میں جیسے ہی آنے کی کوشش کرتا ہوں۔ مصروفیات پتہ نہیں کہاں کہاں سے ٹپک پڑتی ہیں :(
 

عائشہ عزیز

لائبریرین
لسٹوں کی مدد سے ڈکشنری بنانا
ڈکشنری بنانے کا ایک طریقہ دو لسٹوں کی مدد سے بھی ہے۔

پہلے ہم نے دو لسٹ بنائی ہیں ایک مہینوں کے نام کی اور دوسری مہینوں کے دنوں کی تعداد کی۔
پھر ہم نے zip فنکشن استعمال کرتے ہوئے دونوں لسٹوں کو جوڑ کر ایک ڈکشنری بنائی۔
اس کے بعد ہم نے لسٹ پرنٹ کرا لی ہے۔

PHP:
>>> monname = ['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC']
 
>>> monnum  = [31,28,31,30,31,30,31,31,30,31,30,31]
 
>>> month = dict(zip(monname,monnum))
 
>>> print(month)
{'FEB': 28, 'DEC': 31, 'APR': 30, 'AUG': 31, 'JAN': 31, 'OCT': 31, 'JUN': 30, 'SEP': 30, 'JUL': 31, 'MAY': 31, 'MAR': 31, 'NOV': 30}

بھیا ایک بات کی سمجھ نہیں آ رہی۔
یہ آئٹمز کی ترتیب کیوں بدل رہی ہے پہلے جنوری اور اس کے دنوں کی تعداد کیوں نہیں ہے۔ اوپر لسٹ میں بھی تو ترتیب سے ہے۔

لسٹ اور ٹپل میں کیا فرق ہے؟
 

محمداحمد

لائبریرین
بھیا ایک بات کی سمجھ نہیں آ رہی۔
یہ آئٹمز کی ترتیب کیوں بدل رہی ہے پہلے جنوری اور اس کے دنوں کی تعداد کیوں نہیں ہے۔ اوپر لسٹ میں بھی تو ترتیب سے ہے۔

لسٹ اور ٹپل میں کیا فرق ہے؟


ڈکشنری میں keys کی ترتیب اہم نہیں ہوتی اور ڈکشنری عموماً اُس ترتیب سے نظر نہیں آتی جس ترتیب سے ہم اس میں ڈیٹا شامل کرتے ہیں۔​
یاد رکھنے کی بات یہ ہے کہ ڈکشنری میں values ہمیشہ keys کی مدد سے تلاش کی جاتی ہیں اور key-value pair ہمیشہ ایک سا رہتا ہے۔ اس لئے ترتیب سے کوئی خاص فرق نہیں پڑتا۔​

ٹپلز immutable ہوتے ہیں۔ یعنی ہم اسائنمنٹ آپریٹر کی مدد سے tuple کی قدر (value) تبدیل نہیں کر سکتے۔ جب کے لسٹ میں ایسا باآسانی ہوسکتاہے۔
 

عائشہ عزیز

لائبریرین
ڈکشنری میں keys کی ترتیب اہم نہیں ہوتی اور ڈکشنری عموماً اُس ترتیب سے نظر نہیں آتی جس ترتیب سے ہم اس میں ڈیٹا شامل کرتے ہیں۔​
یاد رکھنے کی بات یہ ہے کہ ڈکشنری میں values ہمیشہ keys کی مدد سے تلاش کی جاتی ہیں اور key-value pair ہمیشہ ایک سا رہتا ہے۔ اس لئے ترتیب سے کوئی خاص فرق نہیں پڑتا۔​

ٹپلز immutable ہوتے ہیں۔ یعنی ہم اسائنمنٹ آپریٹر کی مدد سے tuple کی قدر (value) تبدیل نہیں کر سکتے۔ جب کے لسٹ میں ایسا باآسانی ہوسکتاہے۔
اور ٹپلز سمپل بریکٹ میں ہوتے ہیں۔ لسٹ square بریکٹس میں اور ڈکشنری کرلی بریکٹس میں۔۔ہے ناں بھیا؟
 
Top