0

可能重复:
在字符串中插入每 2 个元素的 Pythonic 方式

如果有人可以帮助使用python代码,我会很高兴))例如,我如何将空格放入字符串中,

如果有字符串'akhfkahgdsds' 我想把它变成'ak hf ka hg ds ds'

4

4 回答 4

7
>>> s = 'akhfkahgdsds'
>>> range(0, len(s), 2) # gives you the start indexes of your substrings
[0, 2, 4, 6, 8, 10]
>>> [s[i:i+2] for i in range(0, len(s), 2)] # gives you the substrings
['ak', 'hf', 'ka', 'hg', 'ds', 'ds']
>>> ' '.join(s[i:i+2] for i in range(0, len(s), 2)) # join the substrings with spaces between them
'ak hf ka hg ds ds'
于 2012-11-09T19:13:03.683 回答
0

我真的不认为这是要走的路,但无论如何我认为这个答案很有趣。如果字符串的长度总是偶数,你可以巧妙地使用iter-- 如果它是奇数,最后一个字符将被截断:

s = '11223344'
i_s = iter(s)
' '.join(x+next(i_s) for x in i_s)

当然,你总是可以填充它:

i_s = iter(s+len(s)%2*' ')
于 2012-11-09T19:23:23.050 回答
0

你可以试试这个简单的代码:

try:
    for i in range(0,len(s)+1,2):
        print s[i]+s[i+1],
except IndexError:
    pass
于 2012-11-09T21:10:13.993 回答
0
def isection(itr, size):
    while itr:
        yield itr[:size]
        itr = itr[size:]

' '.join(isection('akhfkahgdsds', 2))
于 2012-11-09T19:18:12.597 回答