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]]
3 Réponses :
Vous pouvez essayer d'utiliser la fonction de tri ()? : sortie: p>
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 code> 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.
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]]
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: sortie: p>
Liste (Carte (triée, List2)) Code> ou[Trié (LST) pour LST dans la liste2] code>?Une question: Supposons
list1 = [[1, 1], [2, 2]] code> etlist2 = [[2, 2], [100, 100]] code>. Quelle serait la production attendue pour cela?[[2, 2], [2, 2]] code> ou[[2, 2], [100, 100]] code>? Ajoutez ceci à votre question s'il vous plaît.Et si
list1 = [[[1, 4], [2, 3]]] code> etlist2 = [[[-1 ,4], [-2, -3]] code >?ça ne va pas négatif