2010-11-07 72 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(','))