তথ্যের সর্বোত্তম উত্স হ'ল তালিকার বোধগম্য সম্পর্কিত সরকারী পাইথন টিউটোরিয়াল । তালিকার বোঝাপড়াগুলি লুপগুলির মতো প্রায় একই রকম (অবশ্যই কোনও তালিকা বোঝার জন্য একটি লুপ হিসাবে লেখা যেতে পারে) তবে তারা প্রায়শই লুপের জন্য ব্যবহারের চেয়ে দ্রুত হয়।
টিউটোরিয়াল থেকে এই দীর্ঘ তালিকা বোধগম্যতা দেখুন ( if
অংশটি বোঝার ফিল্টার করে, কেবলমাত্র সেই অংশগুলি যা if স্টেটমেন্টটি তালিকা বোধের চূড়ান্ত অংশে (এখানে (x,y)
) পাস করে :
>>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
এটি লুপের জন্য নেস্ট করা ঠিক ঠিক একই (এবং টিউটোরিয়ালটি যেমন বলেছে, নোটটি কীভাবে এবং যদি একই হয় তবে নোট করুন)।
>>> combs = []
>>> for x in [1,2,3]:
... for y in [3,1,4]:
... if x != y:
... combs.append((x, y))
...
>>> combs
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
তালিকা অনুধাবন এবং লুপের জন্য প্রধান পার্থক্যটি হ'ল লুপের চূড়ান্ত অংশটি (যেখানে আপনি কিছু করেন) শেষের পরিবর্তে শুরুতে আসে।
আপনার প্রশ্নে:
লুপ কাঠামোর জন্য এটি ব্যবহার করতে কোন ধরণের অবজেক্ট থাকা উচিত?
একটি পুনরাবৃত্ত । যে কোনও বস্তু উপাদানগুলির একটি (সসীম) সেট তৈরি করতে পারে। এর মধ্যে কোনও ধারক, তালিকা, সেট, জেনারেটর ইত্যাদি অন্তর্ভুক্ত রয়েছে
আমি এবং জে অবজেক্টের উপাদানগুলিকে অর্ডার করা হয় তা কী?
প্রতিটি তালিকা থেকে উত্পন্ন হওয়ার সাথে সাথে এগুলি ঠিক একই ক্রমে অর্পণ করা হয়, যেন তারা লুপের জন্য নেস্টেড ছিল (আপনার প্রথম বোঝার জন্য আপনি i এর জন্য 1 টি উপাদান পাবেন, তারপরে জে, দ্বিতীয় উপাদান থেকে আইতে প্রতিটি মান পাবেন, তারপরে জে ইত্যাদি থেকে প্রতিটি মান)
এটি কি লুপ কাঠামোর জন্য আলাদা দ্বারা অনুকরণ করা যায়?
হ্যাঁ, ইতিমধ্যে উপরে দেখানো হয়েছে।
এটি কি লুপের জন্য লুপের জন্য অনুরূপ বা ভিন্ন কাঠামোযুক্ত বাসা বাঁধতে পারে? এবং এটি দেখতে কেমন হবে?
অবশ্যই, তবে এটি দুর্দান্ত ধারণা নয়। উদাহরণস্বরূপ, এখানে আপনাকে অক্ষরের তালিকাগুলির একটি তালিকা দেয়:
[[ch for ch in word] for word in ("apple", "banana", "pear", "the", "hello")]