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

পাইথনে লিস্টে এলিমেন্টের লাস্ট অকারেন্স (শেষ অবস্থান) বের করা


সমস্যা বিবরণ

একটি লিস্টে নির্দিষ্ট এলিমেন্টটি শেষ কোন ইনডেক্সে আছে তা বের করতে হবে।

উদাহরণ

words = ['eat', 'sleep', 'drink', 'sleep', 'drink', 'sleep', 'go', 'come']
element = 'sleep'
Output: 5 (0-based index)

পদ্ধতি ১: লিস্ট রিভার্স করে

words = ['eat', 'sleep', 'drink', 'sleep', 'drink', 'sleep', 'go', 'come']
element = 'sleep'

words.reverse()
index = words.index(element)
last_index = len(words) - index - 1
print(last_index)  # 5

পদ্ধতি ২: enumerate + max (পাইথনিক)

words = ['eat', 'sleep', 'drink', 'sleep', 'drink', 'sleep', 'go', 'come']
element = 'sleep'

last_index = max(index for index, item in enumerate(words) if item == element)
print(last_index)  # 5

পদ্ধতি ৩: rindex লাইক ফাংশন (রিভার্স ইটারেশন)

def last_index(lst, value):
    for i in range(len(lst) - 1, -1, -1):
        if lst[i] == value:
            return i
    return -1  # না পাওয়া গেলে

print(last_index(words, 'sleep'))  # 5

তুলনা

পদ্ধতিসময় জটিলতাস্থান জটিলতামূল লিস্ট পরিবর্তন
Reverse + indexO(n)O(1)হ্যাঁ (রিভার্স হয়)
enumerate + maxO(n)O(1)না
Reverse iterationO(n)O(1)না

উপসংহার

  • enumerate + max সবচেয়ে পাইথনিক এবং মূল লিস্ট অপরিবর্তিত রাখে
  • বারবার ব্যবহার হলে হেল্পার ফাংশন বানান
  • না পাওয়া গেলে ValueError হ্যান্ডল করুন (max() খালি জেনারেটরে ValueError দেয়)
  1. পাইথনে লিস্টে একটি আইটেমের ইনডেক্স কীভাবে খুঁজে বের করবেন?

  2. পাইথন লিস্ট থেকে লাস্ট এলিমেন্ট কীভাবে পাবেন?

  3. পাইথন লিস্টে একটি উপাদানের ইনডেক্স খুঁজে বের করার পদ্ধতি

  4. পাইথনে স্ট্রিং-এ সাবস্ট্রিং-এর শেষ~Occurrence-এর ইনডেক্স বের করা