2016-01-19 47 views
-1

我在Python迭代器中获取数据,其中每行是由"\t"分隔的字符。
我可以创建此类似:拆分和连接字符串

iter1 = [] 
str = "" 
for j in range (0,3): 
    for i in range(0,9): 
     str += "1\t" 
    str += "1" 
    iter1.append(str) 
    str = "" 

iter1正在寻找这样的:

['1\t1\t1\t1\t1\t1\t1\t1\t1\t1', '1\t1\t1\t1\t1\t1\t1\t1\t1\t1', '1\t1\t1\t1\t1\t1\t1\t1\t1\t1'] 

现在,我想"\n"加入这个迭代器,但我也希望每个"\t"将成为"\n"所以最终的结果将是:

1 
1 
1 
1 
1 
1 

加入迭代线后。

我该如何以最快的方式做到这一点?

回答

1

您在列表中得到制表符分隔值,并希望所有选项卡转换为新线:

iter1 = ['\t'.join('1'*10) for _ in range(3)] 

result = '\n'.join(iter1).replace('\t', '\n') 
0
>>> iter1 = ['1\t1\t1\t1\t1', 
      '1\t1\t1\t1\t1', 
      '1\t1\t1\t1\t1'] 
>>> s = '\n'.join([char for line in iter1 
        for char in line.split('\t')]) 

>>> print s 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1 
1