偶数番目の要素をスライスする場合は、list[::2]、奇数番目は、list[1::2]とします。Pythonの配列(リスト)は0番目から始まることに注意です。実施例を下図に示します。

そして、list[::3]とすれば、下図のように2つ飛ばしの要素を抽出した新リストを作成できます。

これを活用した例を次に示します。例えば、下図のように101枚の画像があるとします。

本コードを実行すると、下図のように5つ飛ばしで画像を残します。

これは、多数の画像ファイルから動画を作成する場合に有用です。画像枚数が多いと動画サイズも大きくなります。これを避けるために、画像ファイルを等間隔で間引けばファイルサイズ増大を抑制することができます。
■本プログラム
import os, glob
import re
def main():
for myfolder in input_folder_list:
file_list = glob.glob(myfolder + '/*.jpg')
file_list = sorted(file_list, key=lambda x:int((re.search(r"[0-9]+", x)).group(0)))
leave_file_list = file_list[::step_n]
print(leave_file_list)
for file in file_list:
if file not in leave_file_list:
os.remove(file)
if __name__ == '__main__':
input_folder_list = ['dirJpg']
step_n = 5
main()
以上
<広告>
リンク