ばぐばぐわーるど

Pythonなどなど

【Python】 文字列を2文字ずつ分割してリストに格納

なぜかこの操作をよくやる気がするので。

>>> s = "abcdefghijklmn"
>>> li = [(i+j) for (i,j) in zip(s[::2],s[1::2])]
>>> li
['ab', 'cd', 'ef', 'gh', 'ij', 'kl', 'mn']

リストの要素を2つずつ取ってタプルに入れたいときは同様にして

>>> x = [1,2,3,4,5,6,7,8,9,10]
>>> li = [(i,j) for (i,j) in zip(x[::2],x[1::2])]
>>> li
[(1,2), (3,4), (5,6), (7,8), (9,10)]

3文字くらいまでならこのやり方が楽そうです。