Ich habe 2 Listen von Positionstupel (x, y Daten). Ich möchte 2 Arrays oder Listen der Indizes für Positionen (oder ein Tupel), die in beiden Listen sind, zurückgeben. Die Positionsdatenwerte sind jedoch nicht exakt gleich, es wird eine Ungenauigkeit von +/- 4 sowohl für die X- als auch die Y-Koordinaten geben.Finden fast gleiche Tupel-Mitglieder von zwei Arrays?
Zum Beispiel:
A=[(1168.593,9.874), (1799.244,40.201),(780.533,12.636)]
B=[(1170.909,8.194), (793.149,10.885), (1801.493,41.603)]
sollte es zurück:
c=[(0,0),(1,2)]
oder:
d=[0,1] #indexes for A
e=[0,2] #indexes for B
Entweder man wäre in Ordnung zu verwenden.
Gibt es in Python eine Funktion, die die Indizes übereinstimmender Daten in 2 Listen zurückgibt, indem auch ein +/- Wert angegeben wird?
Ich muss dies für 3 Listen von ~ 400 Tupel jedes tun, die nicht gleich groß sind.
ich auch mit so etwas wie zu denken war:
common=[a in A for a in B]
und irgendwie einen Bereich für a
Angabe nur auf der x- und y-Daten suchen und die Indizes statt wahr/falsch zurück, aber ich wirklich don Ich weiß nicht, wie ich das angehen soll. Ist eine Schleife die einzige Möglichkeit, dies zu tun, indem Sie jeden Wert einzeln betrachten, einen Unterschied zwischen ihnen erkennen und sehen, ob dies < 4 ist, und dann die Indizes bekommen?
Wenn Sie Array sagen, meinen Sie "Liste"? –
Aber es gibt keine eingebaute Funktionalität wie Sie beschrieben haben. –
Liste oder Array, habe ich den ursprünglichen Beitrag aktualisiert – gline