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

পাইথনে লিস্ট থেকে অ্যাল্টারনেট (এক.interfaces) এলিমেন্ট বের করা


সমস্যা বিবরণ

একটি লিস্ট থেকে অ্যাল্টারনেট এলিমেন্ট (বিষম ইনডেক্সের এলিমেন্ট বা ১, ৩, ৫... পজিশন) বের করতে হবে।

উদাহরণ

Input:  [1, 2, 3, 4, 5]
Output: [2, 4]  (ইনডেক্স ১ এবং ৩)

পদ্ধতি ১: লিস্ট কম্প্রিহেনশন + মডুলো

numbers = [1, 2, 3, 4, 5]
result = [numbers[i] for i in range(len(numbers)) if i % 2 != 0]
print(result)  # [2, 4]

পদ্ধতি ২: স্লাইসিং (সবচেয়ে পাইথনিক)

numbers = [1, 2, 3, 4, 5]
result = numbers[1::2]  # ইনডেক্স ১ থেকে শুরু করে ২ स्टেপে
print(result)  # [2, 4]

স্লাইসিং সিনট্যাক্স ব্যাখ্যা

list[start:stop:step]
numbers[1::2]  # start=1, stop=end, step=2

ভেরিয়েশন

  • numbers[::2] — সম ইনডেক্স (০, ২, ৪...): [1, 3, 5]
  • numbers[1::2] — বিষম ইনডেক্স (১, ৩, ৫...): [2, 4]
  • numbers[::-1] — রিভার্স: [5, 4, 3, 2, 1]

পারফরম্যান্স

  • স্লাইসিং: C-লেভেলে ইমপ্লিমেন্টেড, সবচেয়ে দ্রুত
  • লিস্ট কম্প্রিহেনশন: পাইথন লেভেলে, কিছুটা স্লো
  • দভেনই O(n) সময়, কিন্তু স্লাইসিং কনস্ট্যান্ট ফ্যাক্টর কম

উপসংহার

পাইথনে অ্যাল্টারনেট এলিমেন্ট বের করার জন্য স্লাইসিং [1::2] সেরা পদ্ধতি। ছোট, দ্রুত এবং পাইথনিক।

  1. পাইথনে টাপলে লিস্টের সব এলিমেন্টের আকারেন্স কাউন্ট করা (Count occurrence of all list elements in tuple)

  2. পাইথনে দেওয়া সূচকের তালিকা থেকে সব উপাদান অ্যাক্সেস করা

  3. পাইথনে চেক করা সব লিস্ট এলিমেন্ট একই কিনা

  4. পাইথনে দুটি লিস্টের সাধারণ উপাদান প্রিন্ট করার প্রোগ্রাম