0
votes

Comment créer une nouvelle liste de tuples avec la liste existante de tuples

J'ai une liste de tuples comme celui-ci - xxx

et je souhaite faire une nouvelle liste en fonction de la logique qui -

pour chaque paire qui ne fait pas " text dans la liste d'origine sera inclus dans la nouvelle liste, comme les suivantes: xxx

de même.

Peut-on suggérer la méthode de le faire en python?

merci.


1 commentaires

Vous pouvez penser à accepter une réponse pour récompenser ceux qui vous ont aidé, ou du moins comment expliquer ce qui manque;)


4 Réponses :


1
votes

Voici une solution utilisant itTools code> et définit: xxx pré>

le résultat ( new_pairs code>) est le suivant: p>

{('alpha', 'alpha'),
 ('alpha', 'euphor'),
 ('alpha', 'gama'),
 ('alpha', 'tuphor'),
 ('beta', 'alpha'),
 ('beta', 'beta'),
 ('beta', 'euphor'),
 ('beta', 'lamda'),
 ('beta', 'tuphor'),
 ...


0 commentaires

0
votes

vous pouvez

  • Ramassez les différents articles
  • calculer toutes les permutations
  • Faites la différence entre toutes les combinaisons et les utilisateurs existants xxx

4 commentaires

Bonjour, merci pour cela, bien que certains duplicats soient également générés, ce qui n'est pas nécessaire dans la sortie. Puissiez-vous vous conseiller comment les supprimer?


@Pranjitabakraborty Duplicate où? all_perm ne contient pas de duplicata, new_perm ni


('Alpha', 'Euphor') ('Euphor', 'Alpha') La liste contient des termes comme celui-ci. Leur différence de position ne leur fait pas différentes entités et c'est ce que je voulais dire par dupliquer


@Pranjitabakraborty utilise des combinaisons donc à la place, j'ai mis à jour mon post



1
votes
[['euphor', 'lamda'],
 ['euphor', 'gama'],
 ['euphor', 'beta'],
 ['euphor', 'alpha'],
 ['lamda', 'beta'],
 ['lamda', 'tuphor'],
 ['gama', 'alpha'],
 ['gama', 'tuphor'],
 ['beta', 'tuphor'],
 ['tuphor', 'alpha']]

2 commentaires

Merci beaucoup. La sortie est exactement ce que je voulais. Merci beaucoup


Grand de savoir ça. Vous pouvez envisager d'accepter la réponse la plus appropriée



0
votes

Vous avez juste besoin d'obtenir les noms uniques dans la liste d'origine, puis d'appliquer le si code> condition. Essayez ceci et laissez-moi savoir si vous faites face à un problème.

new_list = []
names = set(np.array(list1).ravel())
for i in names:
    for j in names:
        if i!=j:
            if ((i,j) not in list1) & ((j,i) not in list1) & ((i,j) not in new_list) & ((j,i) not in new_list):
                new_list.append((i,j))


2 commentaires

Cependant, certains doublons sont également générés comme [(((Gama », 'TUPHOR'), ('TUPHOR', 'GAMA')] Pouvez-vous vous dire comment les supprimer?


J'ai mis à jour le code. Je viens d'appliquer 2 autres conditions pour vérifier si les tuples existent dans New_List . Vérifiez-le et laissez-moi savoir si ça va maintenant.