重複の可能性:
文字列に2つの要素ごとに挿入するPythonicの方法
誰かがPythonコードを手伝ってくれると嬉しいです))たとえば、スペースを文字列に入れるにはどうすればよいですか?
'akhfkahgdsds'
変換したい文字列があれば'ak hf ka hg ds ds'
重複の可能性:
文字列に2つの要素ごとに挿入するPythonicの方法
誰かがPythonコードを手伝ってくれると嬉しいです))たとえば、スペースを文字列に入れるにはどうすればよいですか?
'akhfkahgdsds'
変換したい文字列があれば'ak hf ka hg ds ds'
>>> 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'
これがここに行く方法だとは思いませんが、とにかくこの答えはちょっと楽しいと思います。文字列の長さが常に偶数の場合は、iter
-を使用して巧妙なトリックを実行できます。奇数の場合、最後の文字は切り捨てられます。
s = '11223344'
i_s = iter(s)
' '.join(x+next(i_s) for x in i_s)
もちろん、いつでもパディングできます。
i_s = iter(s+len(s)%2*' ')
def isection(itr, size):
while itr:
yield itr[:size]
itr = itr[size:]
' '.join(isection('akhfkahgdsds', 2))
この簡単なコードを試すことができます:
try:
for i in range(0,len(s)+1,2):
print s[i]+s[i+1],
except IndexError:
pass