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

পাইথনে লিস্টে কনsekutিভ নম্বর আছে কিনা যাচাই করুন

ডেটা বিশ্লেষণের প্রয়োজনমতো পাইথন ডেটা কন্টেইনারে সিকোয়েনসিয়াল নম্বর থাকা আছে কিনা তা যাচাই করতে হয়। নিচের প্রোগ্রামগুলোতে একটি লিস্টের উপাদানগুলোর মধ্যে কোনো কনsekutিভ নম্বর আছে কিনা তা বের করা হয়েছে।

range এবং sorted ফাংশন ব্যবহার করে

sorted ফাংশন লিস্টের উপাদানগুলিকে সর্টেড ক্রমে সাজায়। তারপর min এবং max ফাংশন ব্যবহার করে লিস্টের সর্বনিম্ন ও সর্বোচ্চ সংখ্যা নিয়ে range ফাংশন প্রয়োগ করা হয়। দুটি লিস্টের ফলাফল তুলনা করে সমতা যাচাই করা হয়।

উদাহরণ

listA = [23, 20, 22, 21, 24]
sorted_list = sorted(listA)
range_list = list(range(min(listA), max(listA) + 1))

if sorted_list == range_list:
    print("listA has consecutive numbers")
else:
    print("listA has no consecutive numbers")

# আবার যাচাই
listB = [23, 20, 13, 21, 24]
sorted_list = sorted(listB)
range_list = list(range(min(listB), max(listB) + 1))

if sorted_list == range_list:
    print("ListB has consecutive numbers")
else:
    print("ListB has no consecutive numbers")

আউটপুট

listA has consecutive numbers ListB has no consecutive numbers

numpy diff এবং sorted ফাংশন ব্যবহার করে

numpy-এর diff ফাংশন সর্টেড সংখ্যাগুলোর পার্থক্য বের করে। এই পার্থক্যগুলোর যোগফল যদি লিস্টের দৈর্ঘ্য থেকে ১ বাদ দিয়ে সমান হয়, তবে সব সংখ্যা কনsekutিভ।

উদাহরণ

import numpy as np

listA = [23, 20, 22, 21, 24]
sorted_list_diffs = sum(np.diff(sorted(listA)))

if sorted_list_diffs == (len(listA) - 1):
    print("listA has consecutive numbers")
else:
    print("listA has no consecutive numbers")

# আবার যাচাই
listB = [23, 20, 13, 21, 24]
sorted_list_diffs = sum(np.diff(sorted(listB)))

if sorted_list_diffs == (len(listB) - 1):
    print("ListB has consecutive numbers")
else:
    print("ListB has no consecutive numbers")

আউটপুট

listA has consecutive numbers ListB has no consecutive numbers
  1. পাইথনে ডুপ্লিকেট এলিমেন্ট যাচাই (Contains Duplicate)

  2. পাইথনে লিস্ট থেকে বিজোড় সংখ্যা প্রিন্ট করা

  3. পাইথনে লিস্ট থেকে নেগেটিভ সংখ্যা প্রিন্ট করা

  4. Python-এ স্ট্রিং শুধু সংখ্যা ধারণ করছে কিনা যাচাই করা