কখনও কখনও আমাদের দুটি পাইথন তালিকার উপাদানগুলিকে তাদের মান এবং অবস্থান বা সূচক উভয়ের পরিপ্রেক্ষিতে তুলনা করতে হতে পারে। এই নিবন্ধে আমরা দেখব কিভাবে একই অবস্থানে দুটি তালিকার উপাদানগুলি খুঁজে বের করা যায় যা তাদের মূল্যের সাথে মেলে না৷
লুপের জন্য ব্যবহার করা হচ্ছে
আমরা অনুরূপ সূচকে মান তুলনা করার জন্য লুপের জন্য ডিজাইন করতে পারি। আইডি মান মেলে না তাহলে আমরা ফলাফল তালিকায় সূচক যোগ করি। লুপের জন্য প্রথমে প্রথম সূচীতে মান আনে এবং তারপর দ্বিতীয় তালিকার মানের সাথে তুলনা করার জন্য একটি if শর্ত ব্যবহার করে।
উদাহরণ
listA= [13, 'Mon',23, 62,'Sun']
listB = [5, 'Mon',23, 6,'Sun']
# index variable
idx = 0
# Result list
res = []
# With iteration
for i in listA:
if i != listB[idx]:
res.append(idx)
idx = idx + 1
# Result
print("The index positions with mismatched values:\n",res) আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The index positions with mismatched values: [0, 3]
জিপ সহ
জিপ ফাংশন আমাদেরকে একটি ছোট কোড লিখতে সাহায্য করে কারণ আমরা প্রতিটি সূচকের উপাদানগুলির তুলনা করি। সূচকের মানগুলি সেই অবস্থানের জন্য ক্যাপচার করা হয় যেখানে উপাদানের মান মেলে না৷
৷উদাহরণ
listA= [13, 'Mon',23, 62,'Sun']
listB = [5, 'Mon',23, 6,'Sun']
res = [listB.index(n) for m, n in
zip(listA, listB) if n != m]
# Result
print("The index positions with mismatched values:\n",res) আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The index positions with mismatched values: [0, 3]
গণনা সহ
এটি জিপ ফাংশনের অ্যাপ্রোচের অনুরূপ, তবে এখানে তালিকার একটিতে গণনা ফাংশন প্রয়োগ করার সময় প্রতিটি উপাদান এবং সূচকের মধ্য দিয়ে যাওয়ার জন্য লুপ রয়েছে৷
উদাহরণ
listA= [13, 'Mon',23, 62,'Sun']
listB = [5, 'Mon',23, 6,'Sun']
res = [idx for idx, elem in enumerate(listB)
if elem != listA[idx]]
# Result
print("The index positions with mismatched values:\n",res) আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
The index positions with mismatched values: [0, 3]