在字符串列表中为字符串中的每个第4个字符之间插入空格的可行方法?

时间:2020-05-13 03:21:01

标签: python python-3.x

我目前有一个列表,其中包含一串二进制格式的二进制值。我想在每个第4个值之间添加一个空格,以便使用二进制值,例如:

'111111111111'

成为

'1111 1111 1111'

例如,假设我的当前列表为:

bin = ['0001', '1111', '111111111111']

,我想要一个带有值的新列表:

new_bin = ['0001', '1111', '1111 1111 1111']

如何遍历列表并在每第4个字符之间添加必要的空格?仅包含4个字符的字符串不适用,不需要调整。

2 个答案:

答案 0 :(得分:2)

您可以使用for循环在Python中遍历列表或字符串。
https://docs.python.org/3/tutorial/controlflow.html#for-statements

然后,您可以将每个字符串中的每个字符附加到列表中,并在第4个字符后附加空白。最后,使用列表上字符串对象的<option value="" disabled={true}>Select One</option> 方法加入列表。 https://docs.python.org/2/library/stdtypes.html#str.join

答案 1 :(得分:2)

这对我有用,假设我们必须从左边开始数:“ 1111 11”,而不是6位数字的“ 11 1111”:

>>> def add_spaces(a) :
...     result = ''
...     for i in range(0,len(a),4) :
...         if i > 0 :
...             result += ' '
...         result += a[i:i+4]
...     return result
... 
>>> add_spaces('1111')
'1111'
>>> add_spaces('11111')
'1111 1'
>>> add_spaces('111111')
'1111 11'

测试您的数据:

>>> bin = ['0001', '1111', '111111111111']
>>> [add_spaces(i) for i in bin]
['0001', '1111', '1111 1111 1111']
>>>