2016-12-05 85 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'] 
相關問題