création de liste python

a marqué ce sujet comme résolu.

bonjour Juste pour déclarer une liste sous python 3.7.4 def fonc(n): liste=[] for i in range(n): liste[i]=n return(liste)

fonc(5) Traceback (most recent call last): File "<pyshell#19>", line 1, in <module> fonc(5) File "E:\Ma programmation\Python\listes.py", line 43, in fonc liste[i]=n IndexError: list assignment index out of range

Sur internet j’ai vu qu’on peut déclarer une liste juste comme je l’ai fait. Merci d’avance.

Bonjour, tu peux poster code entre tilde ~ (ou backquote, ce truc là `) pour poster ton code.

Par exemple :

~~~python
def fonc(n):
  liste=[]
  for i in range(n):
    liste[i]=n
  return(liste)
~~~

Qui rend :

def fonc(n):
  liste=[]
  for i in range(n):
    liste[i]=n
  return(liste)

Bref, pour ton problème. ta liste est initialement vide. Or tu essayes d’accéder à l’élément i (dont 0 la première fois) d’une liste vide. Forcément, il n’y a pas de premier élément.

Ce que tu dois faire c’est ajouter à la liste pour que la liste grandisse.

def fonc(n):
  liste=[]
  for i in range(n):
    append(liste,n)
  return(liste)

Mais le plus plus simple pour cet exemple c’est quand même de construire une liste à partir de la range :

def fonc(n):
  return list(range(n))
+0 -0

Le C peu effectivement sembler un peu rigide comparer au Python qui est plus souple et qui a plus de fonctionnalité.

Bonne chance dans ton apprentissage ^^

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte