If a single value is provided, it is assigned at all the indices.
If a list is given, it must have the same length as indices.
if not isinstance(values, list):
return _assignment_single_value_by_sum(x, values, indices, axis)
if not isinstance(indices, list):
indices = [indices]
if len(values) != len(indices):
raise ValueError("Either one value or as many values as indices")
for (nb_index, index) in enumerate(indices):
After Change
If a list is given, it must have the same length as indices.
if _is_boolean(indices):
indices = [index for index, val in enumerate(indices) if val]
if tf.rank(values) == 0:
return _assignment_single_value_by_sum(x, values, indices, axis)
single_index = not isinstance(indices, list)
if tf.is_tensor(indices):
single_index = ndim(indices) <= 1 and sum(indices.shape) <= ndim(x)
if single_index:
indices = [indices]
if len(values) != len(indices):