কম্পিউটার টিউটোরিয়াল

পাইথনে প্রথম নন-জিরো নম্বারের ইনডেক্স বের করা (First occurrence of True number)


পদ্ধতি ১: enumerate() + next()

listA = [0, 0, 13, 4, 17]
res = next((i for i, val in enumerate(listA) if val), None)
print(res)  # 2

next(..., None) দিয়ে ডিফল্ট ভ্যালু সেট করা যায় (নন-জিরো না থাকলে)।

পদ্ধতি ২: next() + filter() + lambda

listA = [0, 0, 13, 4, 17]
res = listA.index(next(filter(lambda x: x != 0, listA)))
print(res)  # 2

filter দিয়ে প্রথম নন-জিরো বের করে index() দিয়ে পজিশন পাওয়া।

ব্যাখ্যা

  • পদ্ধতি ১: জেনারেটর এক্সপ্রেশন, মেমরি-এফিশিয়েন্ট।
  • পদ্ধতি ২: ফাংশনাল স্টাইল, কিন্তু দুবার ট্রাভার্সাল (filter + index)।

আউটপুট

2
  1. পাইথনে ডিকশনারির লিস্ট ফ্ল্যাটেন করা (Flatten list of dictionaries)

  2. পাইথনে লিস্ট থেকে প্রথম নন-এম্পটি স্ট্রিং বের করা (First Non-Empty String)

  3. পাইথনে বৈধ সংখ্যা যাচাই

  4. পাইথনে সংখ্যাকে পূর্ণসংখ্যার লিস্টে রূপান্তর