2010-11-07 5 views

Répondre

1

Une autre méthode qui fonctionne également si les supports ne sont pas le premier et le dernier caractère:

print s[s.index("[")+1:s.index("]")].replace(",", "\n") 

Si les crochets sont toujours le ifrst et le dernier caractère de la chaîne, vous pouvez simplifier à

print s[1:-1].replace(",", "\n") 
3
>>> s = "[0 1,1 1,3 2,4 1]" 
>>> print '\n'.join(s[1:-1].split(',')) 
0 1 
1 1 
3 2 
4 1 
+0

Slick, mais ne valide pas grand-chose. En particulier, il donne le même résultat pour ce qui suit: '{0 1,1 1,3 2,4 1}', '(0 1,1 1,3 2,4 1)', ce qui pourrait être acceptable, mais cela pourrait ne pas: '00 1,1 1,3 2,4 10'. Selon l'application, une solution plus élaborée pourrait aider. –

0

extrait simple:

with open("file.txt", "r") as _f: 
    myfile = _f.readlines() 

myline = myfile[0] 

print '\n'.join(myline[1:-1].split(',')) 

Si vous avez plusieurs lignes similaires sur votre fichier, vous pouvez itérer avec une instruction for sur 'myfile'.

for line in myfile: 
    print '\n'.join(line[1:-1].split(',')) 

Notez que si vous êtes sûr que les supports sont en début et à la fin de la ligne, vous pouvez utiliser:

print "\n".join(line.strip('[]').split(',')) 
Questions connexes