সমস্যা বিবরণ
ইংরেজি বর্ণমালার ছোট হাতের অক্ষর (a-z) থেকে বিজোড় ইনডেক্স (০, ২, ৪... অর্থাৎ a, c, e...) বाले অক্ষরগুলো থেকে যাবতীয় ৫টি বেছে নিয়ে একটি সিরিজ তৈরি করা।
সমাধান ১: স্ট্রিং স্লাইসিং ও random.sample (সেরা পদ্ধতি)
import pandas as pd
import string
import random as r
chars = string.ascii_lowercase # 'abcdefghijklmnopqrstuvwxyz'
print("ছোট হাতের অক্ষর:", chars)
# বিজোড় ইনডেক্স (even index): chars[::2] -> a, c, e, g, ...
even_chars = chars[::2]
random_chars = r.sample(list(even_chars), 5)
result = pd.Series(random_chars)
print("যাবতীয় বিজোড় ইনডেক্স অক্ষর:", random_chars)
print("সিরিজ:")
print(result)
সমাধান ২: লুপ দিয়ে বিজোড় ইনডেক্স কালেক্ট করে
import string
import pandas as pd
import random as r
l = list(string.ascii_lowercase)
ls = []
for i in l:
if l.index(i) % 2 == 0: # বিজোড় ইনডেক্স
ls.append(i)
data = pd.Series(r.sample(ls, 5))
print("সিরিজ:")
print(data)
আউটপুট (উদাহরণ - যাবতীয়ভাবে ভিন্ন হবে)
ছোট হাতের অক্ষর: abcdefghijklmnopqrstuvwxyz
যাবতীয় বিজোড় ইনডেক্স অক্ষর: ['w', 'k', 'i', 'u', 'm']
সিরিজ:
0 w
1 k
2 i
3 u
4 m
dtype: object
ব্যাখ্যা
string.ascii_lowercase দিয়ে 'a' থেকে 'z' পাওয়া যায়। [::2] স্লাইসিং দিয়ে বিজোড় ইনডেক্স (0-based) এর এলিমেন্টগুলো নেওয়া যায়। random.sample নন-রিপিটিং যাবতীয় স্যাম্পলিং নিশ্চিত করে।