J'ai une liste d'entrée J'ai besoin d'une liste de sortie comme suit ces deux p> Je veux comparer toute la deuxième valeur de chaque subliste et si la différence entre eux est plus de 2, je crée une nouvelle liste. J'ai donc plusieurs listes d'une liste.
Toute la deuxième valeur est en moyenne. P> p>
3 Réponses :
Vous pouvez faire une liste de listes, ce qui serait mieux que de faire de nouveaux noms de liste.
quelque chose comme ceci: p>
dic={}
input_list = [[278, 207], [695, 205], [672, 205], [325, 205], [302, 205],[650, 167], [556, 167], [533, 167]]
data = list(set([i[1] for i in input_list]))
for i in data :
dic[i]=[]
for i in input_list :
dic[i[1]].append(i[0])
new_l =[]
result =[]
for k,v in dic.items():
for i in v:
new_l.append([i,k])
if len(new_l)>2:
result.append(new_l)
new_l=[]
print(result)
#output [[[650, 167], [556, 167], [533, 167]],[[695, 205], [672, 205], [325, 205], [302, 205]]]
Votre sortie crée un subliste séparé pour [278, 207] code>. Ce n'est pas ce qui a été demandé (différence> 2).
@Nielshenkens merci de corriger. Solution mise à jour
Vous pouvez utiliser la méthode appelable sur votre slice_quive code>: INPUT_LIST code> avec la condition requise ( lambda code>): p>
Avez-vous essayé quelque chose? Donc, ce n'est pas un service de devoirs.