0

我正在使用以下方法来创建标题中所述的对象:

from dateutil import relativedelta

MA_dict = {'years': 0,
         'months': 0,
         'weeks': 0,
         'days': 1,
         'hours': 0,
         'minutes': 0,
         'seconds': 0}


def dict2relativedelta(dict):
    '''
    creates relativedelta variable that can be used to calculate dates
    '''
    dt = relativedelta.relativedelta(years=dict['years'], months=dict['months'], weeks=dict['weeks'], days=dict['days'],
                                     hours=dict['hours'], minutes=dict['minutes'], seconds=dict['seconds'])
    return dt

但是,我想简化一下,这样我就可以通过

MA_dict = {'days': 1}

并且该函数将返回相同的值。我怎样才能做到这一点?

4

1 回答 1

1

您不需要为此使用特殊功能,因为 Python 具有使用**运算符解包的参数。您可以通过以下方式完成您想要的:

MA_dict = {"days": 1}
rd = relativedelta.relativedelta(**MA_dict)
于 2019-11-07T13:37:06.117 回答