আপনি যদি ব্যবহার করেন তবে any(lst)দেখুন lstএটি পুনরাবৃত্তিযোগ্য যা কিছু আইটেমের একটি তালিকা a যদি এটিতে থাকে [0, False, '', 0.0, [], {}, None](যার সকলের বুলিয়ান মান রয়েছে False) তবে any(lst)তা হবে False। যদি lstনিম্নলিখিতগুলির মধ্যে [-1, True, "X", 0.00001](যাঁর সকলের কাছে মূল্যায়ন হয় True) থাকে তবে any(lst)তা হবে True।
আপনার পোস্ট করা কোডে x > 0 for x in lst, এটি এক ভিন্ন ধরণের পুনরাবৃত্তিযোগ্য, যাকে জেনারেটর এক্সপ্রেশন বলে । পাইথনে জেনারেটর এক্সপ্রেশন যুক্ত হওয়ার আগে আপনি একটি তালিকা উপলব্ধি তৈরি করতে পারবেন যা দেখতে খুব অনুরূপ, তবে আশেপাশের []: এর সাথে [x > 0 for x in lst]। থেকে lstধারণকারী [-1, -2, 10, -4, 20], আপনি এই পেতে হবে ঢুকা তালিকা : [False, False, True, False, True]। এই অভ্যন্তরীণ মানটি anyফাংশনে পাস হবে, যা ফিরে আসবে True, যেহেতু কমপক্ষে একটি Trueমান রয়েছে।
তবে জেনারেটর এক্সপ্রেশন সহ পাইথনকে আর সেই অভ্যন্তরীণ তালিকা তৈরি করতে হবে না True(s)এবং False(s), anyজেনারেটর এক্সপ্রেশন দ্বারা একসাথে উত্পন্ন মানগুলির মাধ্যমে ফাংশনটি পুনরাবৃত্তি হওয়ার সাথে মানগুলি উত্পন্ন হবে। এবং , anyশর্ট সার্কিট থেকে যেহেতু এটি প্রথম Trueমানটি দেখার সাথে সাথে এটি পুনরাবৃত্তি বন্ধ করবে । আপনি যদি (বা আপনি পাইথন 2.x ব্যবহার করছেন ) এর lstমতো কিছু ব্যবহার করে তৈরি করে থাকেন তবে এটি বিশেষত কার্যকর y যদিও এই মত প্রকাশের বিলিয়ন এন্ট্রি উপর তৈরি করবে, শুধুমাত্র যখন এটি পায় তৃতীয় এন্ট্রি হিসেবে যতটা যেতে হবে , যা মূল্যায়ণ জন্য , এবং তাই আসতে পারেন ।lst = range(-1,int(1e9))xrangeany1Truex>0anyTrue
যদি আপনি একটি তালিকা উপলব্ধি তৈরি করে থাকেন তবে পাইথনকে প্রথমে স্মৃতিতে বিলিয়ন-উপাদান তালিকা তৈরি করতে হবে এবং তারপরে এটি পাস করতে হবে any। তবে জেনারেটর এক্সপ্রেশন ব্যবহার করে আপনি পাইথনের বিল্টিন ফাংশনগুলির মতো করতে পারেন anyএবং allএকটি Trueবা Falseমান দেখা যাওয়ার সাথে সাথে তাড়াতাড়ি বেরিয়ে যেতে পারে ।
any(x > 0 for x in list)এটি কেবল একটি সিনট্যাকটিক চিনিany((x > 0 for x in list))।