百折不撓

データ系の新米エンジニアとして戦闘中。

リストの中身をくるくる回すの

 リストの中身を心太みたいに押し出すのではなくて、中身をぐるぐる回す方法はないかとググったら出てきた(参考サイトは一番下)。
 復習もかねて、ここに記しておく。

from collections import deque

hoge = deque([chr(i) for i in range(48, 48+10)])  #意味はないがこんなやり方もあるの赤と
#deque(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])

hoge.rotate(3)  #ぐにゅっと右に押す
#deque(['7', '8', '9', '0', '1', '2', '3', '4', '5', '6'])

hoge.rotate(-3)  #ぐいっと左に引っ張る
#deque(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])

ってな事が出来るみたい。こいつの処理速度がどれくらいかは不明だし、破壊的な処理しかできないっぽいので、回したものをリスト化とかして格納するしかないのかな。まぁ、一度だけくるっとしたいならそれでいいだろうけど。
 ともあれ、一つ手段が増えた。やったね!りょうちゃん出来ること増えたよ!

参考サイト
Pythonでリストをシフトする効率的な方法 - コードログ