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 :

Insérer un élément dans une liste de listes


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Insérer un élément dans une liste de listes
    Bonjour,

    J'aurai besoin d'aide suite à un petit problème que je rencontre. Pour faire court, j'ai une liste composé de trois listes, et je souhaites insérer un élément quelconque dans une des listes secondaires
    Ma liste ressemble à ça :
    tab=[["1","2","3"],["4","5","6"],["7","8","9"]]

    Si par exemple je veux afficher un élément de ma liste, je n'ai qu'à faire : tab[x][x], et ça m'affiche ce que je veux
    Mais le soucis, c'est que ça ne fonctionne pas lorsque je veux insérer un élément sur cette même case avec la fonction insert
    Et donc je suis perdu

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 479
    Points : 9 277
    Points
    9 277
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Un exemple (si j'ai bien compris le pb posé):

    j'ai tab=[["1","2","3"],["4","5","6"],["7","8","9"]]

    Je veux insérer "0" dans la 2ème sous-liste (=indice 1), à la 2ième positon: tab[1].insert(2, "0")

    Ce qui donne: [['1', '2', '3'], ['4', '5', '0', '6'], ['7', '8', '9']]

    Ok?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Oh oui génial ! c'est ce que je voulais
    Mais j'me pose une autre question maintenant, n'y aurait il pas moyen d'ajouter le "0" par dessus le "6" (pour reprendre ton exemple), sans passer par un remove après l'insertion de mon élément ?

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    Tu veux dire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> l = [['1', '2', '3'], ['4', '5', '0', '6'], ['7', '8', '9']]
    >>> l[1].insert(3, l[1].pop(2))
    >>> l
    [['1', '2', '3'], ['4', '5', '6', '0'], ['7', '8', '9']]
    Faut faire attention aux indexs à cause de pop()

  5. #5
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Bonsoir,
    Plus simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> tab=[["1","2","3"],["4","5","6"],["7","8","9"]]
    >>> tab
    [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
    >>> tab[1].append(0)
    >>> tab
    [['1', '2', '3'], ['4', '5', '6', 0], ['7', '8', '9']]
    >>>
    Où même:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> tab=[["1","2","3"],["4","5","6"],["7","8","9"]]
    >>> tab
    [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
    >>> tab[1] += "0"
    >>> tab
    [['1', '2', '3'], ['4', '5', '6', '0'], ['7', '8', '9']]
    >>>
    Non?

    Clodion
    PS: Et si c'est pour remplacer le dernier élément de la deuxième liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> tab=[["1","2","3"],["4","5","6"],["7","8","9"]]
    >>> tab
    [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
    >>> tab[1][-1]="0"
    >>> tab
    [['1', '2', '3'], ['4', '5', '0'], ['7', '8', '9']]
    >>>

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Heu, j'avais compris "faire sauter le zéro par-dessus le 6".

    Sinon, les listes, en jouant un peu dans une console, on peut rapidement en comprendre les diverses méthodes et propriétés.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    @VinsS : Je voulais dire : remplacer un élément de ma liste initiale par un autre, sans pour autant agrandir mes listes

    @Clodion: Ta troisième méthode correspond à ce dont j'avais besoin

    Entre temps je m'étais amusé à faire quelques essais, et j'avais obtenu le résultat attendu, mais c'était 3 fois plus long que la méthode de Clodion ^^
    Bref, merci à vous

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

Discussions similaires

  1. [AC-2007] Insérer manuellement enregistrement dans une zone de liste
    Par philou029 dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/05/2009, 17h57
  2. Réponses: 2
    Dernier message: 29/07/2008, 18h47
  3. supprimer un élément dans une zone de liste
    Par mawelle dans le forum IHM
    Réponses: 8
    Dernier message: 03/06/2008, 15h05
  4. Ajout éléments dans une zone de liste
    Par tabtab dans le forum IHM
    Réponses: 15
    Dernier message: 01/10/2007, 08h39
  5. Cacher des éléments dans une zone de liste
    Par toto10 dans le forum IHM
    Réponses: 11
    Dernier message: 19/07/2006, 15h03

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