Thanks for tuning in to Google I/O. View all sessions on demand

# SetDiff1d

public final class SetDiff1d

Computes the difference between two lists of numbers or strings.

Given a list `x` and a list `y`, this operation returns a list `out` that represents all values that are in `x` but not in `y`. The returned list `out` is sorted in the same order that the numbers appear in `x` (duplicates are preserved). This operation also returns a list `idx` that represents the position of each `out` element in `x`. In other words:

`out[i] = x[idx[i]] for i in [0, 1, ..., len(out) - 1]`

For example, given this input:

``````x = [1, 2, 3, 4, 5, 6]
y = [1, 3, 5]
``````
This operation would return:
``````out ==> [2, 4, 6]
idx ==> [1, 3, 5]
``````

### Public Methods

 static SetDiff1d create(Scope scope, Operand x, Operand y, Class outIdx) Factory method to create a class wrapping a new SetDiff1d operation. static SetDiff1d create(Scope scope, Operand x, Operand y) Factory method to create a class wrapping a new SetDiff1d operation using default output types. Output idx() 1-D. Output out() 1-D.

## Public Methods

#### public static SetDiff1d<T, U> create(Scope scope, Operand<T> x, Operand<T> y, Class<U> outIdx)

Factory method to create a class wrapping a new SetDiff1d operation.

##### Parameters
scope current scope 1-D. Values to keep. 1-D. Values to remove.
##### Returns
• a new instance of SetDiff1d

#### public static SetDiff1d<T, Integer> create(Scope scope, Operand<T> x, Operand<T> y)

Factory method to create a class wrapping a new SetDiff1d operation using default output types.

##### Parameters
scope current scope 1-D. Values to keep. 1-D. Values to remove.
##### Returns
• a new instance of SetDiff1d

#### public Output<U> idx()

1-D. Positions of `x` values preserved in `out`.

#### public Output<T> out()

1-D. Values present in `x` but not in `y`.

[]
[]