Isonjululwe: bala umahluko wazo zonke iindibaniselwano ze-2 uluhlu

Kwihlabathi lanamhlanje, ukuguqulwa kwedatha kunye nohlalutyo lubalulekile ekusombululeni iingxaki ezahlukeneyo kunye nokwenza izigqibo. I-Python, enye yezona lwimi zisetyenziswa kakhulu kwiprogram, inika amathala eencwadi kunye nemisebenzi ukwenza lula le misebenzi. Enye ingxaki enjalo kukubala umahluko phakathi kwazo zonke iindibaniselwano ezinokubakho zeereyi ezimbini. Eli nqaku liza kunika ingqiqo enzulu malunga nendlela yokujongana nale ngxaki, isisombululo sayo samanyathelo, kunye nokukhanyisa amathala eencwadi kunye nemisebenzi echaphazelekayo. Siza kuphinda sihlolisise izihloko ezinxulumeneyo ukuze siqonde inkqubo yokusombulula iingxaki ngcono.

Ukuze ubale umahluko wazo zonke iindibaniselwano zamaqela amabini, siya kusebenzisa i izixhobo ilayibrari, ngokukodwa i imveliso umsebenzi, onceda ekuveliseni iimveliso zeCartesian ze-input iterables. Ngaphaya koko, siya kuqesha i-numpy, ithala leencwadi elidumileyo lekhompyutha yesayensi, ukuququzelela imisebenzi yoluhlu.

Isisombululo seNgxaki

Siza kuqala ngokurhweba ngaphandle amathala eencwadi ayimfuneko, ngokuqalisa iarrays ezimbini, kwaye emva koko sisebenzise itertools.product() umsebenzi ukumisela yonke indibaniselwano enokwenzeka phakathi kweziqalelo zoluhlu. Okulandelayo, siya kubala umahluko phakathi kwezi zidibaniso kwaye sigcine iziphumo kuluhlu.

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]

INyathelo neNyathelo Inkcazo yeKhowudi

Makhe sihlolisise inxalenye nganye yekhowudi ukuze siqonde ukuba ibala njani umahluko kuyo yonke indibaniselwano:

1. Okokuqala, singenisa ngaphandle amathala eencwadi afunekayo - itertools kunye nenumpy:

import itertools
import numpy as np

2. Senza ii-arrays ezimbini ezine-numpy ngezi zinto zilandelayo:

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

3. Sisebenzisa itertools.product () umsebenzi ukufumana yonke indibaniselwano enokwenzeka phakathi kweziqalelo zazo zombini iindawo:

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

Imveliso iya kuba luluhlu lwee-tuples eziqulethe indibaniselwano ngolu hlobo lulandelayo:

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

4. Okokugqibela, siphinda-phinda kuluhlu lwendibaniselwano kwaye sibale umahluko opheleleyo phakathi kweperi nganye yezinto, sigcina iziphumo kuluhlu olubizwa ngokuba “yiyantlukwano”:

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

Uluhlu olunesiphumo somahluko luya kuba:

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

Ithala leencwadi le-Itertools

  • Ilayibrari ye-itertools yimodyuli enamandla kwiThala leencwadi eliMgangatho lePython elibonelela ngengqokelela yezixhobo ezikhawulezayo, ezisebenza kwimemori yokusebenza kunye ne-iterators.
  • Inika imisebenzi eyahlukeneyo, njengemveliso, iimvumelwano, indibaniselwano, enokuvelisa iindidi ezahlukeneyo zolungiselelo lwe-iterator.
  • Le misebenzi inokunceda ukuxazulula iingxaki eziyinkimbinkimbi ngokufanelekileyo kunye nokuphucula ukusebenza kwekhowudi yakho.

Ithala leencwadi elinamanzi

  • I-Numpy lithala leencwadi elidumileyo lemithombo evulekileyo yekhompyuter yesayensi kwiPython.
  • Ibonelela ngezixhobo ezahlukeneyo zokusebenza ngee-arrays, i-algebra yomgca, i-Fourier transform, kunye nokunye.
  • Ivumela ukubalwa kwamanani ngokukhawuleza kwaye yenza lula imisebenzi yoluhlu, iyenze kube lula ukukhetha ukukhohlisa idatha kunye nemisebenzi yohlalutyo kwiPython.

Ukuza kuthi ga ngoku, kuya kufuneka ube nokuqonda okucacileyo kwendlela yokubala umahluko wazo zonke iindibaniselwano ezinokubakho zeendlela ezimbini zoluhlu usebenzisa iPython, ngakumbi i-itertools kunye namathala eencwadi angama-numpy. Indlela yemodyuli yokuqhawula iingxaki ezinzima zibe ngamanyathelo alula usebenzisa iilayibrari ezikhethekileyo kunye nemisebenzi ayincedi kuphela ekufezekiseni ukuqonda okunzulu kwengxaki kodwa inyusa ukusebenza kwekhowudi.

Izithuba ezihambelanayo:

Shiya Comment