def link_id_degrees(full_id_degrees, id_degrees, i, bins):
    """ Puts the ids of specific updates/times into a full dictionary of id-[degrees]

    Takes in a specific update (id_degrees), and adds the degrees present in that
    update to the full id:degree dictionary. The degrees are a list of len(bins),
    and each item is the sum of the previous item and the total provided in id_degrees.

    Args:
        full_id_degrees (dictionary): links a SureChemBL id with a list of degrees
            over time. The degrees are added together as they increase.
        id_degrees (dictionary): links a SureChemBL id with a specific degree from
            a specific update.
        i (int): the increment of the specific update, provides the necessary place
            for the full_id_degrees dictionary
        bins (int): number of updates

    Returns:
        full_id_degrees: updated full dictionary of id:[degrees]
    """
    for key, value in id_degrees.items():
        #If a id is in the dictionary, update the appropriate degree value
        if key in full_id_degrees:
            full_id_degrees[key][i] = value
        # If a id is not in the dictionary, add it with a list of len(updates) 0s and update the appropriate degree value
        else:
            full_id_degrees[key] = [0] * bins
            full_id_degrees[key][i] = value

    return full_id_degrees