2016-12-05 87 views
0

我有字符串列表:如何加入字符串列表合并成一个字符串,并分割这个单一字符串转换成一些固定长度stringsL strins

L= ['11010101\n', '10111001\n', '11111001\n', '10111001\n', '101 \n'] 

我想先加入此字符串如下:

L=['11010101101110011111100110111001101'] 

,然后作为拆分它固定长度5:

L=[ '1101010','1101110','0111111', '0011011','1001101'] 

以及:

L=[ [1,1,0,1,0,1,0],[1,1,0,1,1,1,0],[0,1,1,1,1,1,1], [0,0,1,1,0,1,1],[1,0,0,1,1,0,1]] 

L=[ '1101010\n','1101110\n','0111111\n', '0011011\n','1001101\n'] 

我的代码在这里:

M=[] 
L= ['11010101\n', '10111001\n', '11111001\n', '10111001\n', '101 \n'] 
for i in L: 
    M=''.join(L) 

我怎样才能做到这一点?

回答

0

您需要strip()每个项目的再join()他们:

>>> ''.join(x.strip() for x in L) 
'11010101101110011111100110111001101' 

然后,你需要一块成5:

>>> s = ''.join(x.strip() for x in L) 
>>> n = len(s)//5 
>>> i = iter(s) 
>>> list(iter(lambda: tuple(it.islice(i, n)), tuple())) 
[('1', '1', '0', '1', '0', '1', '0'), ('1', '1', '0', '1', '1', '1', '0'), 
('0', '1', '1', '1', '1', '1', '1'), ('0', '0', '1', '1', '0', '1', '1'), 
('1', '0', '0', '1', '1', '0', '1')] 

最后join()他们回来了'\n'

>>> [''.join(e) + '\n' for e in iter(lambda: tuple(it.islice(i, n)), tuple())] 
['1101010\n', '1101110\n', '0111111\n', '0011011\n', '1001101\n'] 
相关问题