தீர்க்கப்பட்டது: 2 வரிசைகளின் அனைத்து சேர்க்கைகளின் வேறுபாட்டைக் கணக்கிடுங்கள்

இன்றைய உலகில், பல்வேறு சிக்கல்களைத் தீர்ப்பதற்கும் முடிவுகளை எடுப்பதற்கும் தரவு கையாளுதல் மற்றும் பகுப்பாய்வு ஆகியவை முக்கியமானவை. பைதான், மிகவும் பரவலாகப் பயன்படுத்தப்படும் நிரலாக்க மொழிகளில் ஒன்றாகும், இந்த பணிகளை எளிதாக்க பல்வேறு நூலகங்கள் மற்றும் செயல்பாடுகளை வழங்குகிறது. இரண்டு வரிசைகளின் சாத்தியமான அனைத்து சேர்க்கைகளுக்கும் இடையிலான வேறுபாட்டைக் கணக்கிடுவது அத்தகைய சிக்கல்களில் ஒன்றாகும். இந்தச் சிக்கலை எவ்வாறு அணுகுவது, அதன் படிப்படியான தீர்வு மற்றும் இதில் உள்ள நூலகங்கள் மற்றும் செயல்பாடுகளின் மீது வெளிச்சம் போடுவது பற்றிய ஆழமான புரிதலை இந்தக் கட்டுரை வழங்கும். சிக்கலைத் தீர்க்கும் செயல்முறையை நன்றாகப் புரிந்துகொள்ள, தொடர்புடைய தலைப்புகளையும் நாங்கள் ஆராய்வோம்.

இரண்டு வரிசைகளின் அனைத்து சேர்க்கைகளுக்கான வேறுபாட்டைக் கணக்கிட, நாம் பயன்படுத்துவோம் மறு கருவிகள் நூலகம், குறிப்பாக தயாரிப்பு செயல்பாடு, இது உள்ளீடு மாற்றக்கூடிய கார்ட்டீசியன் தயாரிப்புகளை உருவாக்க உதவுகிறது. மேலும், வரிசை செயல்பாடுகளை எளிதாக்க, அறிவியல் கணினிக்கான பிரபலமான நூலகமான நம்பியைப் பயன்படுத்துவோம்.

சிக்கல் தீர்வு

தேவையான நூலகங்களை இறக்குமதி செய்வதன் மூலம் தொடங்குவோம், இரண்டு வரிசைகளை துவக்குவோம், பின்னர் itertools.product() செயல்பாட்டைப் பயன்படுத்தி அந்த வரிசைகளின் உறுப்புகளுக்கு இடையே சாத்தியமான அனைத்து சேர்க்கைகளையும் தீர்மானிக்கிறோம். அடுத்து, இந்த சேர்க்கைகளுக்கு இடையிலான வேறுபாட்டைக் கணக்கிட்டு, முடிவுகளை பட்டியலில் சேமிப்போம்.

import itertools
import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([3, 4, 5])

combinations = list(itertools.product(array1, array2))
differences = [abs(combination[0] - combination[1]) for combination in combinations]

குறியீட்டின் படி-படி-படி விளக்கம்

குறியீட்டின் ஒவ்வொரு பகுதியையும் விரிவாக ஆராய்வோம், இது அனைத்து சேர்க்கைகளுக்கான வேறுபாடுகளை எவ்வாறு கணக்கிடுகிறது என்பதைப் புரிந்துகொள்வோம்:

1. முதலில், தேவையான நூலகங்களை இறக்குமதி செய்கிறோம் - itertools மற்றும் numpy:

import itertools
import numpy as np

2. பின்வரும் கூறுகளுடன் இரண்டு நம்பி வரிசைகளை உருவாக்குகிறோம்:

array1 = np.array([1, 2, 3])
array2 = np.array([3, 4, 5])

3. இரு அணிகளின் உறுப்புகளுக்கு இடையே சாத்தியமான அனைத்து சேர்க்கைகளையும் பெற, itertools.product() செயல்பாட்டைப் பயன்படுத்துகிறோம்:

combinations = list(itertools.product(array1, array2))

வெளியீடு பின்வருமாறு சேர்க்கைகளைக் கொண்ட டூப்பிள்களின் பட்டியலாக இருக்கும்:

[(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), ( 3, 5)]

4. இறுதியாக, நாங்கள் சேர்க்கைகள் பட்டியலை மீண்டும் செய்கிறோம் மற்றும் ஒவ்வொரு ஜோடி உறுப்புகளுக்கும் இடையிலான முழுமையான வேறுபாட்டைக் கணக்கிடுகிறோம், முடிவுகளை "வேறுபாடுகள்" என்று அழைக்கப்படும் பட்டியலில் சேமிக்கிறோம்:

differences = [abs(combination[0] - combination[1]) for combination in combinations]

இதன் விளைவாக வேறுபாடுகளின் பட்டியல் பின்வருமாறு:

[2, 3, 4, 1, 2, 3, 0, 1, 2]

Itertools நூலகம்

  • ஐட்டர்டூல்ஸ் லைப்ரரி என்பது பைதான் ஸ்டாண்டர்ட் லைப்ரரியில் உள்ள ஒரு சக்திவாய்ந்த தொகுதி ஆகும், இது இட்ரேட்டர்களுடன் வேலை செய்ய வேகமான, நினைவக திறன் கொண்ட கருவிகளின் தொகுப்பை வழங்குகிறது.
  • இது தயாரிப்பு, வரிசைமாற்றங்கள், சேர்க்கைகள் போன்ற பல்வேறு செயல்பாடுகளை வழங்குகிறது, இது பல்வேறு வகையான மறு செய்கை ஏற்பாடுகளை உருவாக்க முடியும்.
  • இந்த செயல்பாடுகள் சிக்கலான பிரச்சனைகளை மிகவும் திறமையாக தீர்க்கவும் உங்கள் குறியீட்டின் செயல்திறனை மேம்படுத்தவும் உதவும்.

நம்பி நூலகம்

  • நம்பி என்பது பைத்தானில் உள்ள அறிவியல் கம்ப்யூட்டிங்கிற்கான பிரபலமான திறந்த மூல நூலகமாகும்.
  • இது வரிசைகள், நேரியல் இயற்கணிதம், ஃபோரியர் உருமாற்றம் மற்றும் பலவற்றுடன் வேலை செய்வதற்கான பல்வேறு கருவிகளை வழங்குகிறது.
  • இது வேகமான எண்ணியல் கணக்கீடுகளை செயல்படுத்துகிறது மற்றும் வரிசை செயல்பாடுகளை எளிதாக்குகிறது, இது பைத்தானில் தரவு கையாளுதல் மற்றும் பகுப்பாய்வு பணிகளுக்கான ஒரு தேர்வாக அமைகிறது.

பைத்தானைப் பயன்படுத்தி இரண்டு வரிசைகளின் சாத்தியமான அனைத்து சேர்க்கைகளின் வித்தியாசத்தை, குறிப்பாக itertools மற்றும் நம்பி லைப்ரரிகளை எவ்வாறு கணக்கிடுவது என்பது பற்றிய தெளிவான புரிதல் உங்களுக்கு இப்போது இருக்க வேண்டும். சிறப்பு நூலகங்கள் மற்றும் செயல்பாடுகளைப் பயன்படுத்தி சிக்கலான சிக்கல்களை எளிமையான படிகளாக உடைக்கும் மட்டு அணுகுமுறை சிக்கலைப் பற்றிய ஆழமான புரிதலை அடைவதற்கு உதவுவது மட்டுமல்லாமல் குறியீட்டின் செயல்திறனையும் அதிகரிக்கிறது.

தொடர்புடைய இடுகைகள்:

ஒரு கருத்துரையை