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 :

Taille d'un tableau


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 163
    Par défaut Taille d'un tableau
    Bonjour à toutes et à tous,
    Si je ne connait pas le nombre d'éléments que je vais ranger dans une liste comment la déclarer ?
    Par exemple, un programme reçoit un nombre aléatoire d'informations qui doivent être placées dans une liste.
    Comment faire pour que :
    -la méthode LEN() renvoie le nombre d'éléments que j'y ai placés.
    -la méthode SORT() ne s'applique qu'aux éléments que j'y ai placés.
    Si j'utilise la déclaration tab=[p for p in range(0, tabsize)], len(tab) me renverra tabsize, quelque soit le nombre d'éléments que j'y ai placés.
    Je vous remercie de votre aide

  2. #2
    Membre Expert
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    915
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 915
    Billets dans le blog
    7
    Par défaut
    Bonjour.
    Citation Envoyé par Walterbelo Voir le message
    Si je ne connait pas le nombre d'éléments que je vais ranger dans une liste comment la déclarer ?
    On assigne juste l'objet list à la variable :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> liste
    <type 'list'>

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 163
    Par défaut
    Merci MPython Alaplancha d'avoir répondu si vite
    Si je code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liste=list()
    liste[0]=0
    liste[1]=1
    print(len(liste))
    J'ai j'injure suivante :
    Traceback (most recent call last):
    File "C:\Python\Scripts\Liste.py", line 18, in <module>
    liste[0]=0
    ~~~~~^^^
    IndexError: list assignment index out of range

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 516
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 516
    Par défaut
    si tu as prété attention à la réponse de papajoker, tu aurais vu que pour rajouter un élément à une liste il faut passer par .add
    liste=list() déclare une liste vide, donc les indices 0 et 1 sont inexistants d'où l'erreur.

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 312
    Par défaut
    mais je t'ai donné le code pour ajouter un élément
    EDIT: grillé

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 163
    Par défaut Suffit de tout lire
    Citation Envoyé par papajoker Voir le message
    mais je t'ai donné le code pour ajouter un élément
    EDIT: grillé
    Merci papajoker. Alors la, d'accord. Autant pour moi.

  7. #7
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 312
    Par défaut
    bonjour
    Citation Envoyé par Walterbelo Voir le message
    Si j'utilise la déclaration tab=[p for p in range(0, tabsize)], len(tab) me renverra tabsize, quelque soit le nombre d'éléments que j'y ai placés.
    tabsize = 1000; tab=[p for p in range(0, tabsize)] Avec ce code tu ne déclares pas un tableau de X élements, mais tu injectes X élements dans un tableau

    quelque soit le nombre d'éléments que j'y ai placés
    Tu as déjà inséré 1000 éléments, après, je suppose que tu remplaces quelques éléments : tab[10] = "nouveau".
    Par contre si tu fais tab.append("truc"), alors oui, tu vas avoir un nouvel élément et donc la longueur du tableau est incrémentée.


    Au début, avoir des doutes est normal. Ne pas oublier qu'il suffit d'afficher la variable pour en lever quelques-uns : print(tab)

Discussions similaires

  1. [Tableau]comment connaitre la taille d'un tableau à 2 dimensions
    Par Kyti dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/04/2005, 10h27
  2. Changer la taille d'un tableau déjà initialisé
    Par totofweb dans le forum C++
    Réponses: 2
    Dernier message: 25/07/2004, 15h55
  3. taille d'un tableau
    Par monstour dans le forum ASP
    Réponses: 3
    Dernier message: 24/06/2004, 15h16
  4. Taille maximum de tableau en Delphi
    Par yannick37 dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2004, 13h18
  5. qbasic : taille d'un tableau
    Par clood200 dans le forum Basic
    Réponses: 2
    Dernier message: 16/09/2003, 07h26

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