-6
votes

Comment créer une liste de liste de l'entrée donnée?

J'ai une liste d'entrée xxx

J'ai besoin d'une liste de sortie comme suit ces deux xxx

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.


1 commentaires

Avez-vous essayé quelque chose? Donc, ce n'est pas un service de devoirs.


3 Réponses :


2
votes

Vous pouvez faire une liste de listes, ce qui serait mieux que de faire de nouveaux noms de liste.

quelque chose comme ceci: xxx


0 commentaires

0
votes
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]]]

2 commentaires

Votre sortie crée un subliste séparé pour [278, 207] . Ce n'est pas ce qui a été demandé (différence> 2).


@Nielshenkens merci de corriger. Solution mise à jour



0
votes

Vous pouvez utiliser la méthode slice_quive : xxx

appelable sur votre INPUT_LIST avec la condition requise ( lambda ): xxx


0 commentaires