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

পাইথনে লিস্ট অফ লিস্টে নির্দিষ্ট ক্যারেক্টারের পজিশন-ভিত্তিক ফ্রিকোয়েন্সি বের করুন

একটি লিস্ট বিবেচনা করুন যার উপাদানগুলো også লিস্ট। আমরা ইনার লিস্টের বিভিন্ন পজিশনে একটি নির্দিষ্ট ক্যারেক্টারের ফ্রিকোয়েন্সি বের করতে চাই।

নিচের লিস্টটি বিবেচনা করুন:

listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]

উপরের লিস্টে প্রতিটি ইনার লিস্টে ৩টি এলিমেন্ট আছে। প্রথম ইনার লিস্টে পজিশন 0, 1, 2-তে a, a, b আছে। সব ইনার লিস্ট বিবেচনা করলে পজিশন 0-এ 'a'-র ফ্রিকোয়েন্সি ২, পজিশন 1-এ ৩, এবং পজিশন 2-এ ১। নিচের প্রোগ্রামগুলো এই মান বের করতে সাহায্য করে।

pandas লাইব্রেরি ব্যবহার করে

pandas লাইব্রেরি ডেটাফ্রেম তৈরি করে ডেটা ম্যানিপুলেশনে ব্যবহৃত হয়। ডেটাফ্রেম তৈরি করে where ক্লজ দিয়ে প্রতিটি পজিশনে 'a' আছে কিনা যাচাই করা হয়।

উদাহরণ

import pandas as pd

listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]

df = pd.DataFrame(listA)
res = df.where(df == 'a', 0).where(df != 'a', 1)

print("Occurrence of 'a' at 0, 1 and 2 position\n", res.sum())

আউটপুট

Occurrence of 'a' at 0, 1 and 2 position 0 2.0 1 3.0 2 1.0

zip ফাংশন ব্যবহার করে

for লুপ দিয়ে সাব-লিস্টের প্রতিটি পজিশন চেক করা হয় এবং পুরো লিস্ট অফ লিস্টে zip ফাংশন প্রয়োগ করা হয়।

উদাহরণ

listA = [['a', 'a', 'b'], ['a', 'c', 'b'], ['c', 'a', 'b'], ['c', 'a', 'a']]

res = [elem.count('a') for elem in zip(*listA)]

print("Occurrence of 'a' at 0, 1 and 2 position\n", res)

আউটপুট

Occurrence of 'a' at 0, 1 and 2 position [2, 3, 1]
  1. পাইথনে দুটি লিস্ট ডিভাইড করুন

  2. পাইথনে লিস্ট অফ লিস্টের প্রতিটি ইন্ডেক্সের ন্যূনতম মান বের করা

  3. পাইথনে দুটি লিস্টের ইন্টারসেকশন (Intersection) বের করা

  4. পাইথনে লিস্টে নির্দিষ্ট পজিশনে অবজেক্ট ইনসার্ট করার পদ্ধতি