Transformer une liste

Résolu
cha -  
 cha -
Bonjour à tous,

Je suis débutante en python et j'ai quelques difficultés a effectuer un script.
J'espère vraiment que quelqu'un pourra m'aider.

Exemple N=['5', '12, '19']
je souhaiterais obtenir une suite de 20 chiffres 0 sauf au position données 5, 12 et 19, ou j'aimerais avoir un 1.
Je voudrais que ce soit ajustable pour n'importe qu'elle liste de chiffres c'est à dire que ce script soit valable pour tout autre exemple tel que N=['2', '15', 16', '18'].

je vous mets mon script en suivant qui ne marche que pour cette exemple. Si vous pouviez m'aider à généraliser mon script se serait super.
Merci d'avance à tous.

N=['5', '12', '19']

i=1
for i in range(1,20):
if i == int(N[0]):
print 1
elif i == int(N[1]):
print 1
elif i == int(N[2]):
print 1
else:
print 0

3 réponses

  1. Arm.7.ageddon Messages postés 42 Statut Membre 5
     
    1) mettre des entiers dans N, et pas des chaines N=[5,12,19]

    2)
    for i in range(1,20):
    valeur = 0
    if i in N:
    valeur = 1
    print valeur


    J'imagine qu'il y a surement moyen d'écrire ça mieux, plus "pythonesque".. ;)
    0
    1. Arm.7.ageddon Messages postés 42 Statut Membre 5
       
      si tu n'as pas possibilité de placer des entiers dans N, alors le test "if i in N:" devient "if str(i) in N:"
      0
  2. cha
     
    Merciiii énormement!!
    0
    1. Arm.7.ageddon Messages postés 42 Statut Membre 5
       
      bah de rien :)
      0
  3. cha
     
    J'ai une autre question! hihi
    Et maintenant si j'ai un N="32 33 36 56 63"
    Comment je fais pour avoir mes positions et mes suites de 0?
    0
    1. Arm.7.ageddon Messages postés 42 Statut Membre 5
       
      Ah... désolé, j'avais pas vu que tu avais continué :)
      N="32 33 36 56 63"
      N=N.split()
      for i in range(0,len(N)):
      N[i]=int(N[i])

      et tu retombes sur le cas N=[32,33,36,56,63]
      0
    2. cha
       
      Merci!
      0