dict.items()
এবং এর মধ্যে কোনও প্রয়োগযোগ্য পার্থক্য রয়েছে dict.iteritems()
কি?
থেকে পাইথন ডক্স :
dict.items()
: অভিধানের (কী, মান) জোড়ার তালিকার একটি অনুলিপি ফিরিয়ে দিন ।
dict.iteritems()
: অভিধানের (কী, মান) জোড়গুলির মধ্যে একটি পুনরাবৃত্তি ফেরান ।
আমি যদি নীচের কোডটি চালিত করি তবে প্রত্যেকে একই বস্তুর রেফারেন্স প্রত্যাবর্তন করবে বলে মনে হচ্ছে। আমি কি অনুপস্থিত কোন সূক্ষ্ম পার্থক্য আছে?
#!/usr/bin/python
d={1:'one',2:'two',3:'three'}
print 'd.items():'
for k,v in d.items():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
print 'd.iteritems():'
for k,v in d.iteritems():
if d[k] is v: print '\tthey are the same object'
else: print '\tthey are different'
আউটপুট:
d.items():
they are the same object
they are the same object
they are the same object
d.iteritems():
they are the same object
they are the same object
they are the same object
d[k] is v
সর্বদা সত্য ফিরে আসবে কারণ পাইথন সমস্ত সংখ্যার জন্য -5 এবং 256 এর মধ্যে পূর্ণসংখ্যার অবজায় রাখে : docs.python.org/2/c-api/int.html আপনি যখন এই পরিসীমাটিতে কোনও int তৈরি করেন আপনি আসলে কেবল বিদ্যমান অবজেক্টের জন্য একটি রেফারেন্স ফিরে পান: >> a = 2; b = 2 >> a is b True
তবে,>> a = 1234567890; b = 1234567890 >> a is b False
iteritems()
পরিবর্তন iter()
পাইথন 3? উপরের ডকুমেন্টেশন লিঙ্কটি এই উত্তরের সাথে মিলেছে বলে মনে হচ্ছে না।
items()
একবারে আইটেমগুলি তৈরি করে এবং একটি তালিকা দেয়।iteritems()
একটি জেনারেটর ফেরত দেয় - একটি জেনারেটর এমন একটি বস্তু যা প্রতি সময়ে একবারে একটি আইটেম "তৈরি" করেnext()
।