IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

supprimer un array d'un ensemble d'array s'il contient au moins une des valeurs contenues dans un autre array


Sujet :

Python

  1. #1
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut supprimer un array d'un ensemble d'array s'il contient au moins une des valeurs contenues dans un autre array
    j'ai un array et un ensemble d'array:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [ [ 1  8 13]
     [ 1  9 10]
     [ 1  9 11]
     [ 1  9 12]
     [ 1  9 13]
     [ 1 10 11]
     [ 8 10 12]
     [ 1 10 13]
     [ 1 11 12]
     [ 1 11 13]
     [ 1 12 13]
     [ 2  3  4]
     [ 2  3  5]
     [ 2  3  6]
     ...
    je veux supprimer tout les array yant au moin une valeur de TPIN 1,8,12

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2018
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2018
    Messages : 41
    Par défaut
    Hello,
    Une array est appelée liste en python, ou éventuellement tuple, ou dictionnaire.
    À ce stade de connaissance, je vous conseille de prendre le temps de lire le tuto de la doc officielle, accessible en moteur de recherche, et en français svp. En moins d'une heure, vous aurez la réponse à votre question, ainsi qu'à de nombreuses autres, ce qui est essentiel pour qui veut programmer en python.
    Bon courage
    PS : s'il vous arrive malheur, consultez-nous... après avoir bien entendu fait un minimum de recherches...
    Re-PS : google marche très bien, bing aussi, et il y a aussi qwant, duck-duck-go, et j'en passe. Pour toute question à ce sujet, il faut contacter les forums appropriés...

  3. #3
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    voilà l'essaie que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for k in TPIN:
        contain=k
        print(k)
        for i in ACL:
            for j in i:
                if (contain==j):
                    delete(ACL,ACL[i])
    print(ACL)
    mais la résultat est malheureusement pas correcte

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    j'ai un array
    Oui, bonjour à toi aussi.
    Citation Envoyé par FATENMRABET Voir le message
    Ouais, avec les virgules ce sera mieux

    Citation Envoyé par FATENMRABET Voir le message
    et un ensemble d'array:
    Pareil
    Citation Envoyé par FATENMRABET Voir le message
    je veux supprimer tout les array yant au moin une valeur de TPIN 1,8,12
    Oh ces pauvres calims qui montrent ton désarroi.
    Moi, mon désarroi à moi, c'est que les valeurs 1, 8 et 12 ne font pas partie de TPIN. Bref on sent ici le problème bien exposé, bien clair et surtout bien relu

    Citation Envoyé par FATENMRABET Voir le message
    mais la résultat est malheureusement pas correcte
    ACL=tuple(x for x in ACL if not set(x) & set(TPIN))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    TPIN= [ 1  7 11]
    ACL= [
    [1 2 3]
    [1 2 4]
    [1 2 5]
    [1 2 6]
    [1 2 7]
    [1 2 8]
    [1 2 9]
    [ 1  2 10]
    [ 1  2 11]
    [ 1  2 12]
    [ 1  2 13]
    [1 3 4]
    [1 3 5]
    [1 3 6]
    [1 3 7]
    [1 3 8]
    [1 3 9]
    [ 1  3 10]
    [ 1  3 11]
    [ 1  3 12]
    ]
    je veux supprimer de ACL, tout les array contenant au moin un element de TPIN,
    j'ai réussi à dégager les cluster contenant l'un des element de TPIN et j'ai pas trouver de solution de supprimer tout l'array de ACL , ni avec del , ni delete, ni remove, ni pop.... , ni l'extraction d'indice..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for k in TPIN:
        contain=k
        print(k)
        for i in ACL:
            for j in i:
                if contain==j:
                    print (i)
                    #print("xxxx",argwhere(ACL[i]))
                    #ACL.tolist()  # convertir à une liste
                    #del ACL[i]
                    #print(ACL)
                    #del ACL[i]

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    j'ai réussi à dégager les cluster contenant l'un des element de TPIN et j'ai pas trouver de solution de supprimer tout l'array de ACL , ni avec del , ni delete, ni remove, ni pop.... , ni l'extraction d'indice..
    Et t'aurais pas eu l'idée d'essayer ma solution ? Je sais pas moi. Si un intervenant à un de mes topics m'écrit un truc, je le teste quoi.
    C'est quoi la raison ? C'est trop facile ?? C'est pas assez "challenge" ???
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TPIN=[...]
    ACL=[...]
    ...
    ACL=tuple(x for x in ACL if not set(x) & set(TPIN))
    print(ACL)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Le code que vous avez fait se ramène à supprimer les éléments d'une liste de cette façon là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> L = [2, 1, 1, 2]
    >>> for e in L:
    ...     if e == 1:
    ...        L.remove(e)
    ...
    Évidemment çà ne fonctionne pas: il suffit de réfléchir un peu.

    Et c'est pas en emballant la chose dans une structure plus compliquée avec 3 boucles imbriquées que çà va se mettre à fonctionner "parce que vous le méritez bien".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Et t'aurais pas eu l'idée d'essayer ma solution ? Je sais pas moi. Si un intervenant à un de mes topics m'écrit un truc, je le teste quoi.
    C'est quoi la raison ? C'est trop facile ?? C'est pas assez "challenge" ???
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TPIN=[...]
    ACL=[...]
    ...
    ACL=tuple(x for x in ACL if not set(x) & set(TPIN))
    print(ACL)
    salut,j'ai pas fait attention à votre proposition , merci beaucoup

  9. #9
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Oui, bonjour à toi aussi.

    Ouais, avec les virgules ce sera mieux


    Pareil

    Oh ces pauvres calims qui montrent ton désarroi.
    Moi, mon désarroi à moi, c'est que les valeurs 1, 8 et 12 ne font pas partie de TPIN. Bref on sent ici le problème bien exposé, bien clair et surtout bien relu


    ACL=tuple(x for x in ACL if not set(x) & set(TPIN))
    salut,
    s'il vous plait avec cette méthode si je veux garder les indice des array que j'ai supprimer comment je peux faire ça , la méthode index m'a posé beaucoup de problème

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 817
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    s'il vous plait avec cette méthode si je veux garder les indice des array que j'ai supprimer comment je peux faire ça
    Il faudrait déjà que tu comprennes les solutions qu'on te propose. Donc examiner chaque instruction de façon individuelle puis enfin comprendre le tout.

    Ce que je t'ai montré, ce n'est pas "comment enlever les éléments X" mais "comment créer une liste qui ne contient pas les éléments X". Au final ça donne le même résultat mais bien évidemment, comme rien n'est réellement enlevé, tu ne peux donc pas connaitre ce qui a été enlevé.

    Donc si maintenant tu veux mémoriser "ce qui sera enlevé", ben il faut alors le récupérer avant de le perdre => ind=tuple(ACL.index(x) for x in ACL if set(x) & set(TPIN)).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  11. #11
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Il faudrait déjà que tu comprennes les solutions qu'on te propose. Donc examiner chaque instruction de façon individuelle puis enfin comprendre le tout.

    Ce que je t'ai montré, ce n'est pas "comment enlever les éléments X" mais "comment créer une liste qui ne contient pas les éléments X". Au final ça donne le même résultat mais bien évidemment, comme rien n'est réellement enlevé, tu ne peux donc pas connaitre ce qui a été enlevé.

    Donc si maintenant tu veux mémoriser "ce qui sera enlevé", ben il faut alors le récupérer avant de le perdre => ind=tuple(ACL.index(x) for x in ACL if set(x) & set(TPIN)).
    merci beaucoup de nouveau, c'est ce que j'ai fait pour comprendre( puisque je suis débutante en python , mais je me trouve face à de complexe problème dans un temps très pressé), bref ce fameux méthode index , pose toujours l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AttributeError: 'numpy.ndarray' object has no attribute 'index'

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par FATENMRABET Voir le message
    puisque je suis débutante en python , mais je me trouve face à de complexe problème dans un temps très pressé
    Si vous débutez, il faut prendre le temps d'apprendre à programmer... sinon vous allez vous retrouvez en face de problèmes que vous ne saurez même pas formuler proprement: difficile de chercher des solutions sur Internet où de poster des exemples de code permettant de les reproduire et vous aider.

    Citation Envoyé par FATENMRABET Voir le message
    bref ce fameux méthode index , pose toujours l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AttributeError: 'numpy.ndarray' object has no attribute 'index'
    Et commencer par décrire le problème que vous cherchez à résoudre en précisant que vous utilisez des tableaux numpy et non des listes de listes. Postez des codes plus complets qui permettent de reproduire le problème sans avoir à modifier le code que vous avez posté.

    Ça éviterait de perdre son temps à imaginer des réponses qui ne vont pas...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une valeur contenu dans un array
    Par giovanni dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 26/01/2019, 10h38
  2. array $matches[0] / $matches[1], récupérer l'une des valeurs du tableau
    Par Globolite dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 06/05/2014, 14h48
  3. Modifier la valeur contenue dans un array
    Par Yakka dans le forum Caml
    Réponses: 4
    Dernier message: 07/11/2011, 18h03
  4. Réponses: 3
    Dernier message: 06/02/2011, 11h14
  5. Réponses: 2
    Dernier message: 12/01/2004, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo