Karte unter mir ein Array von Arrays, genannt y
:Wie der Index des Iterators wissen, wann in Julia
y=Array(Vector{Int64}, 10)
die im Grunde eine Liste von 1-dimensionaler Arrays (10 von ihnen) ist, und jedes 1-dimensionales Array aufweist Länge 5. Nachfolgend ist ein Beispiel davon, wie sie initialisiert werden:
for i in 1:10
y[i]=sample(1:20, 5)
end
jedes 1-dimensionales Feld enthält 5 zufällig abgetastet ganze Zahlen zwischen 1
zu 20
.
Gerade jetzt beantrage ich eine Map-Funktion, wo für jede dieser 1-dimensionalen Arrays in y
, umfasst nicht die Zahlen 1
-20
:
map(x->setdiff(1:20, x), y)
aber ich möchte sicherstellen, wenn die Funktion angewendet bis y[i]
, wenn die Ausgabe setdiff(1:20, y[i])
i
enthält, ist i
von den Ergebnissen ausgeschlossen. in anderen Worten: Ich möchte eine Funktion, die
setdiff(deleteat!(Vector(1:20),i) ,y[i])
aber mit map
wie
Hauptsächlich meine Frage ist, ob Sie auf den Index in der map
Funktion zugreifen können.
P.S, ich weiß, wie man es mit comprehensions
macht, wollte ich wissen, ob es möglich ist, es mit Karte zu tun.
Verständnis Art und Weise:
[setdiff(deleteat!(Vector(1:20), index), value) for (index,value) in enumerate(y)]
Ja! das funktioniert gut. Vielen Dank –