29

年と月のみで日付オブジェクトを作成することは可能ですか?日は必要ありません。

In [5]: from datetime import date

In [6]: date(year=2013, month=1)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-a84d4034b10c> in <module>()
----> 1 date(year=2013, month=1)

TypeError: Required argument 'day' (pos 3) not found

辞書で日付オブジェクトをキーとして使用していますが、1月20日は同じ月と年であるため、1月21日と同じキーを持っている必要があります。

その前の単純な整数を月の数として使用しました。残念ながら、私も年を知る必要があります!

4

5 に答える 5

21

いいえ、それはできません。ユースケースでは、代わりにタプルを使用してください。

key = (2013, 1)

値に対して日付操作を行う必要がないため、タプルで十分です。

于 2013-01-20T13:50:57.113 に答える
16

他の回答への追加として、namedtuple を使用できます。

from collections import namedtuple
MyDate = namedtuple('MyDate', ['month', 'year'])
dkey = MyDate(year=2013, month=1)
于 2013-01-20T13:56:34.030 に答える
3

を使用する場合はdatetime、その属性に従う必要があります。以下、公式サイトから引用します。

「現在のグレゴリオ暦が常に有効であり、常に有効であると仮定すると、理想化された単純な日付。属性: 年、月、日。」

したがって、日を無視して課題を与えることを忘れることはできません。

于 2014-01-31T01:58:40.103 に答える