<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_from_dict(self, dict_values):
 """ Updates TDigest object with dictionary values. The digest delta and K values are optional if you would like to update them, but the n value is not required because it is computed from the centroid weights. For example, you can initalize a new TDigest: digest = TDigest() Then load dictionary values into the digest: digest.update_from_dict({'K': 25, 'delta': 0.01, 'centroids': [{'c': 1.0, 'm': 1.0}, {'c': 1.0, 'm': 2.0}, {'c': 1.0, 'm': 3.0}]}) Or update an existing digest where the centroids will be appropriately merged: digest = TDigest() digest.update(1) digest.update(2) digest.update(3) digest.update_from_dict({'K': 25, 'delta': 0.01, 'centroids': [{'c': 1.0, 'm': 1.0}, {'c': 1.0, 'm': 2.0}, {'c': 1.0, 'm': 3.0}]}) Resulting in the digest having merged similar centroids by increasing their weight: {'K': 25, 'delta': 0.01, 'centroids': [{'c': 2.0, 'm': 1.0}, {'c': 2.0, 'm': 2.0}, {'c': 2.0, 'm': 3.0}], 'n': 6.0} Alternative you can provide only a list of centroid values with update_centroids_from_list() """

        self.delta = dict_values.get('delta', self.delta)
        self.K = dict_values.get('K', self.K)
        self.update_centroids_from_list(dict_values['centroids'])
        return self