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
A voir également:

3 réponses

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
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
cha
 
Merciiii énormement!!
0
Arm.7.ageddon Messages postés 42 Statut Membre 5
 
bah de rien :)
0
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
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
cha
 
Merci!
0