Kuxazululiwe: hlanganisa umehluko wazo zonke izinhlanganisela zezinhlu ezingu-2

Emhlabeni wanamuhla, ukukhohlisa nokuhlaziya idatha kubalulekile ekuxazululeni izinkinga ezihlukahlukene nokwenza izinqumo. I-Python, engolunye lwezilimi zokuhlela ezisetshenziswa kakhulu, inikeza imitapo yolwazi ehlukahlukene kanye nemisebenzi ukwenza le misebenzi ibe lula. Inkinga eyodwa enjalo ukubala umehluko phakathi kwazo zonke izinhlanganisela ezingaba khona zamalungu afanayo amabili. Lesi sihloko sizonikeza ukuqonda okujulile kokuthi ungabhekana kanjani nale nkinga, isixazululo sayo sesinyathelo ngesinyathelo, kanye nokukhanyisa imitapo yolwazi nemisebenzi ehilelekile. Sizophinde sihlole izihloko ezihlobene ukuze siqonde inqubo yokuxazulula izinkinga kangcono.

Ukuze ubale umehluko wazo zonke izinhlanganisela zamalungu afanayo amabili, sizosebenzisa i itertools umtapo wolwazi, ikakhulukazi i umkhiqizo umsebenzi, osiza ekukhiqizeni imikhiqizo ye-Cartesian yezinto ezifakiwe zokufaka. Ngaphezu kwalokho, sizosebenzisa i-numpy, umtapo wolwazi odumile wekhompuyutha yesayensi, ukuze kube lula ukusebenza kohlu.

Isixazululo Senkinga

Sizoqala ngokungenisa amalabhulali adingekayo, siqalise ama-array amabili, bese sisebenzisa umsebenzi we-itertools.product() ukuze sinqume zonke izinhlanganisela ezingaba khona phakathi kwezinto zalezo zinhlelo. Okulandelayo, sizobala umehluko phakathi kwalezi zinhlanganisela futhi sigcine imiphumela ohlwini.

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]

Incazelo Yesinyathelo Nesinyathelo Yekhodi

Ake sihlole ingxenye ngayinye yekhodi ngokuningiliziwe ukuze siqonde ukuthi ihlanganisa kanjani umehluko wazo zonke izinhlanganisela:

1. Okokuqala, singenisa imitapo yolwazi edingekayo - itertools kanye nenumpy:

import itertools
import numpy as np

2. Sakha amalungu afanayo amabili anezici ezilandelayo:

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

3. Sisebenzisa umsebenzi we-itertools.product() ukuze sithole zonke izinhlanganisela ezingaba khona phakathi kwama-elementi awo womabili amalungu afanayo:

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

Okuphumayo kuzoba uhlu lwama-tuples aqukethe izinhlanganisela kanje:

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

4. Ekugcineni, siphinda phezu kohlu lwezinhlanganisela futhi sibale umehluko ophelele phakathi kwepheya ngayinye yezinto, sigcina imiphumela ohlwini olubizwa ngokuthi “umehluko”:

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

Uhlu lomehluko oluzoba umphumela luzoba:

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

I-Itertools Library

  • Umtapo wezincwadi we-itertools uyimojula enamandla ku-Python Standard Library ehlinzeka ngeqoqo lamathuluzi asheshayo, asebenza kahle enkumbulo ukuze asebenze nama-iterators.
  • Inikeza imisebenzi eyahlukene, njengomkhiqizo, izimvume, izinhlanganisela, ezingakhiqiza izinhlobo ezahlukene zezinhlelo ze-iterator.
  • Le misebenzi ingasiza ukuxazulula izinkinga eziyinkimbinkimbi ngempumelelo kakhudlwana futhi ithuthukise ukusebenza kwekhodi yakho.

Umtapo wezincwadi owu-Numpy

  • I-Numpy iwumthombo ovulekile wezincwadi odumile wekhompuyutha yesayensi ePython.
  • Ihlinzeka ngamathuluzi ahlukahlukene okusebenza ngama-arrays, i-algebra yomugqa, i-Fourier transform, nokuningi.
  • Inika amandla izibalo zezinombolo ezisheshayo futhi yenza imisebenzi yamalungu afanayo ibe lula, ikwenze kube yinketho yokukhetha ukukhohlisa kwedatha nemisebenzi yokuhlaziya kuPython.

Njengamanje, kufanele ube nokuqonda okucacile kokuthi ungahlanganisa kanjani umehluko wazo zonke izinhlanganisela ezingaba khona zezinhlaka ezimbili usebenzisa i-Python, ikakhulukazi i-itertools nemitapo yolwazi eyi-numpy. Indlela ye-modular yokuhlukanisa izinkinga eziyinkimbinkimbi zibe izinyathelo ezilula kusetshenziswa imitapo yolwazi eyisipesheli kanye nemisebenzi ayisizi nje kuphela ekuzuzeni ukuqonda okujulile kwenkinga kodwa futhi yandisa ukusebenza kahle kwekhodi.

Okuthunyelwe okuhlobene:

Shiya amazwana