প্রথমত, আপনি যে প্রশ্নটি করেছেন তা সম্পর্কে আমার প্রতিক্রিয়া origin
প্রশ্ন: আমার কোডের একটি বিন্দুতে একটি ভেরিয়েবল সংজ্ঞায়িত করা হলে আমি কীভাবে আবিষ্কার করব?
উত্তর: সোর্স ফাইলে পড়ুন যতক্ষণ না আপনি এমন কোনও লাইন দেখতে পান যেখানে সেই পরিবর্তনশীলটি সংজ্ঞায়িত করা হয়।
তবে আরও, আপনি একটি কোড উদাহরণ দিয়েছেন যে এর বিভিন্ন ক্রমশক্তি রয়েছে বেশ অজগর। শর্তের সাথে মেলে এমন উপাদানগুলির জন্য ক্রম স্ক্যান করার কোনও উপায় আপনি পেয়েছেন, সুতরাং এখানে কিছু সমাধান রয়েছে:
def findFirstMatch(sequence):
for value in sequence:
if matchCondition(value):
return value
raise LookupError("Could not find match in sequence")
স্পষ্টতই এই উদাহরণে আপনি এর raise
সাথে প্রতিস্থাপন করতে পারেনreturn None
কি আপনি অর্জন করতে চেয়েছিলেন উপর নির্ভর করে।
আপনি যদি শর্তের সাথে মেলে এমন সমস্ত কিছু চান তবে আপনি এটি করতে পারেন:
def findAllMatches(sequence):
matches = []
for value in sequence:
if matchCondition(value):
matches.append(value)
return matches
এটি করার আরও একটি উপায় রয়েছে yield
যা আমি আপনাকে দেখাতে বিরক্ত করব না কারণ এটি যেভাবে কাজ করে এটি বেশ জটিল।
আরও, এটি অর্জনের একটি লাইন উপায় রয়েছে:
all_matches = [value for value in sequence if matchCondition(value)]