一つの方法は、ここからリスト内包
months = [month for month in calendar.month_name if month]
を使用して、新しい変数に数ヶ月を格納することである
>>> months[0]
January
>>> months[11]
December
>>> months[-1]
December
編集1: への答えとして、あなたのコメントは、ライブラリitertools
を使用することができます。
import calendar
from itertools import cycle
months = [month for month in calendar.month_name if month]
pool = cycle(months[::-1]) # creating a cyclic pool of the reverse list
for month in pool:
print(month)
出力:
December
November
October
September
August
July
June
May
April
March
February
January
December
November
October
September
August
July
June
May
April
March
February
January
June
May
April
December
November
October
September
August
July
June
May
April
...
編集2:
アンでも簡単な方法な
import calendar
months = [month for month in calendar.month_name if month]
old_index = -4003
new_index = old_index % len(months)
print(new_index, months[new_index])
出力のように、あなたのインデックスを再計算することができます
5 June
素晴らしい、ありがとう!ちょうど1つの質問 - もし私が24ヶ月前に戻ってみたいと思ったら、これを働かせるには?このメソッドは最大12ヶ月間動作しますが、 '-13'を使うと' IndexError'を取得します – Hybrid
あなたのアップデートを見ました...もっとアップノートを与えることができたらいいですか?あなたは最高です、ありがとう! – Hybrid