1 svar
92 visningar
Zorikan2017 är nöjd med hjälpen
Zorikan2017 217
Postad: 5 jun 2023 15:00 Redigerad: 5 jun 2023 15:01

Har jag tolkat uppgiften rätt? Och kan min kod förkortas på något sätt?

Jag ska omvandla tex u=[1, 7, 4, 9, 3, 2, 0, 3] och v=[8, 5, 3, 7,5] så skall findel(u, v) ge resultatet [1 4 7]. Som refererar till vilka platser i u där gemensamma element finns mellan u och v. 7 och 3 är dem gemensamma elementeten på plats 1 4 och 7. 

 

Det finns exempel (se bild nedan) på hur man lösa uppgiften men det är ganska fritt hur man kan lösa uppgiften på. 

 

Egentligen ska man bara fylla i rutan nedan. Och outputen ska ge [1 4 7] efter return P förmodar jag? Men testade förut med detta men när jag skulle printa P som stod det att P inte var definerat. Så jag fick improvisera lite med att fylla i efter Return P. 

....................................................................................................................................................................................................................................

import numpy as np

def findel(u, v):
       common_elements = np.intersect1d(u, v)
       P = np.isin(u, common_elements)
       return P

u = [1, 7, 4, 9, 3, 2, 0, 3]
v = [8, 5, 3, 7, 5]

result = findel(u, v)
common_indices = np.where(result)[0]

print(common_indices)

..............................................................................................................................................................................................................................................

Min fråga är om man kan effektivisera koden genom att skriva in allt innan return P för att den ska kunna ge outputen [1 4 7] efter Return P. 

 

 

Zorikan2017 217
Postad: 5 jun 2023 15:28

import numpy as np

def findel(u, v):
       common_elements = np.intersect1d(u, v)
       P = np.isin(u, common_elements)
       u = [1, 7, 4, 9, 3, 2, 0, 3]
       v = [8, 5, 3, 7, 5]
       result = findel(u, v)
       common_indices = np.where(result)[0]
       return P

print(common_indices)

Svara Avbryt
Close