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 :

index out of range


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 48
    Par défaut index out of range
    Bonjour,

    je bloque sur un script depuis un petit moment et je m'arrache les cheveux

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #!/bin/python
     
    import os
     
    os.system("find -name \"*_nt.tab\" > file_normalize_and_temp")
     
    def normalize(fichier): ##fichier = nom du fichier
     
    	o_fichier=open(fichier.split('\n')[0],'r')
     
    	dist_col=[]
    	dist_col.append(0)
    	count_nt_A=[]
    	count_nt_C=[]
    	count_nt_T=[]
    	count_nt_G=[]
    	count_nt_tot=[]
    	for line in o_fichier:
    		line=line.split('\n')[0]
    		for i in range (1,len(line.split('\t'))):
    			count=0
    			while count < 1:
    				for n in range(1,len(line.split('\t'))):
    					dist_col.append(line.split('\t')[n])
    				count+=1
    		if line.split('\t')[0] == "A":
    			for i in range (1,len(line.split('\t'))):
    				print(line.split('\t')[i],"voila ce qu'il append")
    				count_nt_A.append(line.split('\t')[i])
                    ## si je print la liste count_nt_A il me renvoie une liste de 10 elm MAIS
                    ## si je print count_nt_A[0], la console me renvoie "index out of range"
     
    		if line.split('\t')[0] == "T":
    			for i in range (1,len(line.split('\t'))):
    				count_nt_T.append(line.split('\t')[i])
    			print(count_nt_T,"1er count nt T")
    		if line.split('\t')[0] == "C":
    			for i in range (1,len(line.split('\t'))):
    				count_nt_C.append(line.split('\t')[i])
    		if line.split('\t')[0] == "G":
    			print(line.split('\t')[0])
    			for i in range (1,len(line.split('\t'))):
    					count_nt_G.append(line.split('\t')[i])
    		#~ for i in range(0,int(len(count_nt_A)-1)): ##cette boucle ne fonctionne pas
    			#~ print(i)
    			#~ count_nt_tot.append(count_nt_A[i]+count_nt_T[i]+count_nt_C[i]+count_nt_G[i])

    Le problème étant que je crée 4 listes, mais lorsque je cherche à printer 1 elm de la liste la console me renvoie index out of range, pourtant la liste contient bien 10 elm, je ne comprends pas d'où vient le problème...

    Surement un problème trivial, mais je ne vois pas la solution...

    Merci à vous pour votre aide

  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,

    Si vous mettez la description du problème en commentaires dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    ## si je print la liste count_nt_A il me renvoie une liste de 10 elm MAIS
                    ## si je print count_nt_A[0], la console me renvoie "index out of range"
    et postez un code qui ne reproduit pas le problème, vous ne facilitez pas la vie de ceux qui auraient du temps pour essayer de vous aider.

    note: si count_nt_A contient quelque chose, count_nt_A[0] ne peut pas retourner "index out of range"... donc ces 2 print n'affichent pas la liste dans un même état...

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

Discussions similaires

  1. IndexError: string index out of range
    Par nina08 dans le forum Général Python
    Réponses: 2
    Dernier message: 04/08/2008, 09h27
  2. un impossible "list index out of range" alors que si !
    Par guiguizekid dans le forum Général Python
    Réponses: 3
    Dernier message: 18/05/2008, 04h04
  3. String index out of range
    Par *alexandre* dans le forum Langage
    Réponses: 3
    Dernier message: 08/01/2008, 04h19
  4. probleme de relogin: String index out of range: 0
    Par bbany dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 07/09/2007, 17h04
  5. list index out of range
    Par watcha2020 dans le forum Général Python
    Réponses: 2
    Dernier message: 29/06/2006, 09h59

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