def decimal2dms(decimal_degrees):
    """ Converts a floating point number of degrees to the equivalent
    number of degrees, minutes, and seconds, which are returned
    as a 3-element list. If 'decimal_degrees' is negative,
    only degrees (1st element of returned list) will be negative,
    minutes (2nd element) and seconds (3rd element) will always be positive.

    Example:
    >>> decimal2dms(121.135)
    [121, 8, 6.0000000000184173]
    >>> decimal2dms(-121.135)
    [-121, 8, 6.0000000000184173]
    
    """

    degrees = int(decimal_degrees)
    decimal_minutes = abs(decimal_degrees - degrees) * 60
    minutes = int(decimal_minutes)
    seconds = (decimal_minutes - minutes) * 60
    return [degrees, minutes, seconds]