-1
votes

Trouver la valeur la plus proche dans une liste

J'essaie de prendre une valeur dans une liste et de trouver la valeur la plus proche d'une autre liste, et triez-la donc c'est la même .. Je ne suis pas bon pour expliquer ..

Voici mon code: P>

if list1 = [[1, 1], [2, 2]] and list2 = [[2, 2], [100, 100]]

newlist would be [[2,2], [100, 100]]

if list1 = [[2, 2], [1, 1]] and list2 = [[2, 2], [100, 100]]

newlist would be [[100, 100], [2, 2]]


4 commentaires

Liste (Carte (triée, List2)) ou [Trié (LST) pour LST dans la liste2] ?


Une question: Supposons list1 = [[1, 1], [2, 2]] et list2 = [[2, 2], [100, 100]] . Quelle serait la production attendue pour cela? [[2, 2], [2, 2]] ou [[2, 2], [100, 100]] ? Ajoutez ceci à votre question s'il vous plaît.


Et si list1 = [[[1, 4], [2, 3]]] et list2 = [[[-1 ,4], [-2, -3]] ?


ça ne va pas négatif


3 Réponses :


0
votes

Vous pouvez essayer d'utiliser la fonction de tri ()? : xxx

sortie: xxx


2 commentaires

Pour l'exemple qu'ils ont donné, oui cela fonctionne. Cependant, je doute que sa question soit aussi simple que celle-ci, car si list1 n'a pas été trié, la sortie attendue ne serait pas triée non plus


Oui, j'ai simplifié les listes, ils sont réellement beaucoup plus longs et non dans la mesure où ces listes.



0
votes

En supposant que la distance entre les tuples est mesurée en prenant une valeur absolue du Delta du premier élément:

import numpy as np
[list2[i] for i in [np.argmin([np.abs(l2[0]-l1[0]) for l2 in list2]) for l1 in list1]]


0 commentaires

1
votes

Vous pouvez trier les index de la liste des premiers indices en fonction des valeurs de la liste et utilisez-les pour réorganiser la deuxième liste: xxx

sortie: xxx


0 commentaires