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 :

Modification valeur d'une liste dans une liste


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut Modification valeur d'une liste dans une liste
    Bonjour,

    je débute en python et j'ai quelques soucis avec les listes :

    j'ai un fichier .csv que j'ai importer sur python sous forme de list, ce qui me donne une liste de liste ( un liste de ligne qui contient une liste de colonne). Notons list_import.

    elle se compose un peut comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [['ID', 'name', 'catégorie', 'type', 'valeur1',...],['1', 'Tomate', 'Fruit', 'Frais', '50',...],['2', 'emmental', 'Fromage', 'Frais', '17',...]...]
    J'arrive à récupérer une list secondaire des 'name' que je veux parcourir.


    je voudrais pouvoir ensuite, pour chaque élement de ma list secondaire ( qui correspond à un 'name' de ma list_import ) pourvoir aller modifier une valeur de cette ligne de la list.

    J'arrive avec la compréhension de list à imprimer ligne qui m'interesse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print [row for row in database if row[1] == list_scan[1]]
    mais je n'arrive pas à modifier directement la valeur dans la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>>[row[5] = "plop" for row in database if row[1] == list_scan[1]] 
     
    [error] SyntaxError ( "no viable alternative at input '='", )
    une idée de comment faire ?
    l'idée derrière c'est que mon tableau pourrait faire dans les 10 000 lignes, et que je modifierai facilement 1000 lignes d'un coup via ma list secondaire. Le but est ensuite de réenregistrer ma list_import en .csv ( et donc de garder la même structure de la list de départ avec juste des changement de valeurs approprié ).

    merci de votre aide o/

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Une compréhension de liste fabrique une nouvelle liste.
    Si vous voulez modifier une liste existante, une boucle simple suffit.

    Ceci dit, pandas serait peut être plus adapté pour faire çà... Mais comme vous débutez avec Python, apprendre à l'utiliser va être un peu difficile.

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

Discussions similaires

  1. [MySQL] Modification valeur d'une table
    Par Depsou dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/07/2012, 16h40
  2. modification valeur d'une clé primaire
    Par tmerigon dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2010, 11h43
  3. [MySQL] Organiser les valeurs de 2 tables dans une liste de sélection
    Par domdas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/08/2006, 08h51
  4. Réponses: 4
    Dernier message: 07/08/2006, 17h01
  5. Réponses: 2
    Dernier message: 08/06/2006, 13h38

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