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

পাইথনে লিস্টে সিমিলার সাবস্ট্রিং গ্রুপিং

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা একটি লিস্ট থেকে সিমিলার সাবস্ট্রিং গ্রুপ করবে। আরও স্পষ্ট বুঝার জন্য একটি উদাহরণ দেখা যাক।

ইনপুট

strings = ['tutorials-python', 'tutorials-c', 'tutorials-java', 'tutorials-javascript', 'python-1', 'python-2', 'javascript-1']

আউটপুট

[['tutorials-python', 'tutorials-c', 'tutorials-java', 'tutorials-javascript'], ['python-1', 'python-2'], ['javascript-1']]

আমরা itertools মডিউলের groupby মেথড ব্যবহার করে সমস্যা সমাধান করব। groupby মেথড সমান স্ট্রিংগুলকে একটি ইটার অবজেক্টে গ্রুপ করবে। দেয়া লিস্টের জন্য আমরা স্ট্রিংকে - দিয়ে স্প্লিট করব এবং প্রথম অংশটি groupby মেথডে পাস করব।

এই সমস্যা সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করুন।

  • স্ট্রিংসহ লিস্ট ইনিশিয়ালাইজ করুন।
  • itertools মডিউল ইম্পোর্ট করুন।
  • একটি খালি লিস্ট ইনিশিয়ালাইজ করুন।
  • এখন, স্ট্রিংস এবং একটি ল্যাম্বডা ফাংশন itertools.groupby মেথডে পাস করুন।
  • ল্যাম্বডা ফাংশনটি - দিয়ে স্প্লিট করার পর স্ট্রিংয়ের প্রথম অংশ রিটার্ন করবে।
  • groupby মেথড এলিমেন্ট এবং এর গ্রুপসহ টাপল লিস্ট রিটার্ন করবে।
  • প্রতিটি ইটারেশনে, সিমিলার এলিমেন্টের গ্রুপকে একটি লিস্টে কনভার্ট করুন।
  • লিস্টকে খালি লিস্টে অ্যাপেন্ড করুন।
  • ফলাফল প্রিন্ট করুন।

উদাহরণ

# itertools মডিউল ইম্পোর্ট
import itertools
# স্ট্রিংস ইনিশিয়ালাইজ
strings = ['tutorials-python', 'tutorials-c', 'tutorials-java', 'tutorials-javascript', 'python-1', 'python-2', 'javascript-1']
# খালি লিস্ট
result = []
# ইটেরেটর
# ল্যাম্বডা ফাংশন স্ট্রিংয়ের প্রথম অংশ রিটার্ন করবে
iterator = itertools.groupby(strings, lambda string: string.split('-')[0])
# ফলাফলের ওপর ইটারেট
# এলিমেন্ট এবং তার গ্রুপ
for element, group in iterator:
    # গ্রুপকে লিস্টে কনভার্ট করে অ্যাপেন্ড
    result.append(list(group))
# ফলাফল প্রিন্ট
print(result)

আউটপুট

যদি আপনি উপরের কোডটি রান করেন, তবে আপনি নিচের ফলাফল পাবেন।

[['tutorials-python', 'tutorials-c', 'tutorials-java', 'tutorials-javascript'], ['python-1', 'python-2'], ['javascript-1']]

উপসংহার

যদি টিউটোরিয়ালের বিষয়ে কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।

  1. পাইথনে বাইনারি এলিমেন্ট লিস্ট গ্রুপিং

  2. পাইথনে টাপলের লিস্টকে লিস্টের লিস্টে রূপান্তর

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

  4. পাইথন লিস্টে একই মান একাধিকবার যোগ করা