Function in collections::vec coil-stdlib

dedup

fn dedup(Vec<int> xs) -> Vec<int>
fn dedup(Vec<string> xs) -> Vec<string>
Import
use collections::vec::{dedup};
Source: src/collections/vec.hy

Returns xs with runs of equal neighbours collapsed to one value. There is an int and a string version.

Only adjacent duplicates are removed; sort first to remove all of them.

fn dedup(Vec<int> xs) -> Vec<int>#

Parameters#

NameType
xsVec<int>

Returns#

Vec<int>

Contracts#

Checked according to --contracts (see Contracts).

ensures result.len() <= xs.len()
ensures xs.len() == 0 || result.len() > 0

fn dedup(Vec<string> xs) -> Vec<string>#

Returns xs with runs of equal neighbours collapsed to one value.

Parameters#

NameType
xsVec<string>

Returns#

Vec<string>

Contracts#

Checked according to --contracts (see Contracts).

ensures result.len() <= xs.len()
ensures xs.len() == 0 || result.len() > 0

Examples#

use collections::vec::{dedup};
use tests::assert;
let xs: Vec<int> = [1, 1, 2, 2, 2, 1];
let d = dedup(xs);
assert!(d.len() == 3);

See also#

  • int
  • string
  • fold_int: The same as fold; kept for older code.
  • contains: Returns true when needle is in xs.
  • index_of: Returns the index of the first needle in xs, or -1.
  • binary_search: Finds needle in the ascending vector xs by halving, and returns an index holding it.
  • map: Returns a new vector with mapper applied to each element, in order.
  • filter: Returns the elements for which pred is true, in order.
↑ ↓ navigate ↵ open