[英]Dividing a string into a list of smaller strings of certain length
如果我有這個字符串:
"0110100001100101011011000110110001101111"
如何將每八個字符分成較小的字符串,並將其放入一個列表中,以便它看起來像這樣?:
['01101000','01100101','01101100','01101100','01101111']
到目前為止,我無法弄清楚這是怎么可能的。
我應該提一下,因為我的字符串是二進制的,所以長度總是8的倍數。
>>> mystr = "0110100001100101011011000110110001101111"
>>> [mystr[i:i+8] for i in range(0, len(mystr), 8)]
['01101000', '01100101', '01101100', '01101100', '01101111']
該解決方案使用所謂的列表理解( 這似乎是一個相當不錯的教程),並且基本上與Aleph的答案相同,只是在一行中。
t=[]
for i in range(len(yourstring)/8):
t.append(yourstring[i*8: (i+1)*8])
你也可以使用re
import re
In [21]: s="0110100001100101011011000110110001101111"
In [22]: re.findall('.{8}',s)
Out[22]: ['01101000', '01100101', '01101100', '01101100', '01101111']
由於您的字符串只包含我們可以使用的數字.
匹配任何角色。
您還可以明確使用匹配8位數的\\d{8}
。
In [23]: In [22]: re.findall('\d{8}',s)
Out[23]: ['01101000', '01100101', '01101100', '01101100', '01101111']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.