2010-11-07 89 views

回答

1

一种不同的方法,如果括号内是不是第一个和最后一个字符,也将工作:

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

如果括号总是的ifrst和字符串的最后一个字符,可以简化为

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

油滑的,但不验证了。特别是,它给出了相同的结果:'{0 1,1 1,3 2,4 1}','(0 1,1 1,3 2,4 1)',这可能是可以接受的,但这可能不是:'00 1,1 1,3 2,4 10'。根据应用情况,更复杂的解决方案可能会有所帮助。 – 2010-11-07 17:29:11

0

简单的代码片段:

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

myline = myfile[0] 

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

如果您的文件中有多条相似的行,on就可以在'myfile'上迭代for语句。

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

注意,如果你确信括号内是在开始和该行的末尾,你可以使用:

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