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

পাইথন: ম্যাট্রিক্সে নির্দিষ্ট স্ট্রিং (K) ধারণকারী সারির ইন্ডেক্স বের করা

নেস্টেড লিস্ট (ম্যাট্রিক্স) থেকে যেসব সারিতে নির্দিষ্ট স্ট্রিং K থাকে, সেসব সারির ইন্ডেক্স বের করার জন্য enumerate() এবং লুপ ব্যবহার করা হয়।

উদাহরণ


my_list = [
    ["Pyt", "fun", "python"],
    ["python", "rock"],
    ["Pyt", "for", "CS"],
    ["Keep", "learning"]
]

K = "Pyt"
print("ম্যাট্রিক্স:", my_list)
print("খুঁজে বের করা স্ট্রিং:", K)

result = []
for idx, row in enumerate(my_list):
    if K in row:
        result.append(idx)

print("K ধারণকারী সারির ইন্ডেক্স:", result)

আউটপুট


ম্যাট্রিক্স: [['Pyt', 'fun', 'python'], ['python', 'rock'], ['Pyt', 'for', 'CS'], ['Keep', 'learning']]
খুঁজে বের করা স্ট্রিং: Pyt
K ধারণকারী সারির ইন্ডেক্স: [0, 2]

লিস্ট কম্প্রিহেনশন দিয়ে সংক্ষিপ্ত


result = [i for i, row in enumerate(my_list) if K in row]

বিকল্প: enumerate + filter


result = list(filter(lambda x: K in x[1], enumerate(my_list)))
# [(0, ['Pyt', 'fun', 'python']), (2, ['Pyt', 'for', 'CS'])]
# শুধু ইন্ডেক্স: [x[0] for x in result]

Pandas-এ প্রয়োগ


import pandas as pd
df = pd.DataFrame(my_list)
# যেকোনো কলামে 'Pyt' আছে এমন সারি
mask = df.apply(lambda row: row.astype(str).str.contains('Pyt').any(), axis=1)
indices = df[mask].index.tolist()

কেস-ইনসেনসিটিভ সার্চ


K_lower = K.lower()
result = [i for i, row in enumerate(my_list) if any(K_lower in str(x).lower() for x in row)]
  1. ম্যাট্রিক্সে ভার্টিক্যাল কনক্যাটেনেশন পাইথনে

  2. পাইথনে স্ট্রিং টাইপের সংখ্যা সহ লিস্টের যোগফল বের করা

  3. পাইথনে স্ট্রিংয়ের তালিকা থেকে তালিকার তালিকা তৈরি করা

  4. পাইথনে স্ট্রিংয়ের তালিকা থেকে তালিকার তালিকা তৈরি করা