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

পাইথন: লিস্ট এলিমেন্টের ইন্ডেক্স এবং মান সমান কিনা যাচাই করা

দুটি লিস্টে একই ইন্ডেক্সে অবস্থিত এলিমেন্টগুলো সমান কিনা এবং সেগুলো কোনো নির্দিষ্ট চেক লিস্টে আছে কিনা যাচাই করার জন্য enumerate() এবং ইটারেশন ব্যবহার করা হয়।

উদাহরণ

list1 = [12, 62, 19, 79, 58, 0, 99]
list2 = [12, 74, 19, 54, 58, 0, 11]
check_list = [9, 8, 2]

print("লিস্ট ১:", list1)
print("লিস্ট ২:", list2)
print("চেক লিস্ট:", check_list)

# সর্ট করা (ঐচ্ছিক, মূল লজিক পরিবর্তন করে)
list1.sort()
list2.sort()
print("সর্ট করা লিস্ট ১:", list1)
print("সর্ট করা লিস্ট ২:", list2)

# যাচাই
result = True
for idx, val in enumerate(list1):
    if list1[idx] != list2[idx] and val in check_list:
        result = False
        break

print("\nফলাফল:")
if result:
    print("ইন্ডেক্স এলিমেন্ট লিস্ট এলিমেন্টের সমান")
else:
    print("ইন্ডেক্স এলিমেন্ট লিস্ট এলিমেন্টের সমান নয়")

আউটপুট

লিস্ট ১: [12, 62, 19, 79, 58, 0, 99]
লিস্ট ২: [12, 74, 19, 54, 58, 0, 11]
চেক লিস্ট: [9, 8, 2]
সর্ট করা লিস্ট ১: [0, 12, 19, 58, 62, 79, 99]
সর্ট করা লিস্ট ২: [0, 11, 12, 19, 54, 58, 74]
ফলাফল: ইন্ডেক্স এলিমেন্ট লিস্ট এলিমেন্টের সমান

লজিক ব্যাখ্যা

সর্ট করার পর:

  • ইন্ডেক্স ০: ০ == ০ ✓
  • ইন্ডেক্স ১: ১২ != ১১ কিন্তু ১২ চেক লিস্টে নেই ✓
  • ইন্ডেক্স ২: ১৯ != ১২ কিন্তু ১৯ চেক লিস্টে নেই ✓
  • ...

কোনো মিসম্যাচই চেক লিস্টে নাই, তাই ফলাফল True।

সরলীকৃত পাইথনিক সংস্করণ

# zip দিয়ে একসাথে ইটারেট
mismatches = [(a, b) for a, b in zip(list1, list2) if a != b]
has_bad_mismatch = any(val in check_list for val, _ in mismatches)

print("মিসম্যাচগুলো:", mismatches)
print("চেক লিস্টে আছে কি?", has_bad_mismatch)

zip ব্যবহার করা ज्यादा পঠনযোগ্য এবং দ্রুত।

  1. পাইথনে চেক করা: লিস্টের সকল উপাদান সমান কিনা

  2. পাইথনে লিস্ট স্ট্রিক্টলি ইনক্রিজিং কিনা যাচাই করুন

  3. পাইথনে দুটি লিস্টের ইন্ডেক্স-ভিত্তিক এলিমেন্ট ইকুয়েট করুন

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