This language bar is your friend. Select your favorite languages!

Idiom #118 List to set

Create set y from list x.
x may contain duplicates. y is unordered and has no repeated values.

Illustration
Y = sets:from_list(X).
(def y (set x))
#include <set>
std::set<T> y (x.begin (), x.end ());
#include<unordered_set>
std::unordered_set<T> y (x.begin (), x.end ());
using System.Collections.Generic;
static void Main(string[] args)
{
    string[] x = new string[] { "a", "b", "c", "b" };
    HashSet<string> y = new HashSet<string>(x);
}
import std.container;
auto y = redBlackTree(x);
bool[typeof(x[0])] y;

foreach (e ; x)
    y[e] = true;
void main() {
  List<int> list = [1,2,3,4,5];
  list.toSet(); 
  print(list);
}
y = x |> Enum.uniq |> List.to_tuple
y = MapSet.new(x)
y := make(map[T]struct{}, len(x))
for _, v := range x {
	y[v] = struct{}{}
}
import qualified Data.Set as Set
y = Set.fromList x
var y = new Set(x);
import java.util.HashSet;
import java.util.List;
Set<T> y = new HashSet<>(x);
(setf y (remove-duplicates x))
local hash = {}
local y = {}
for _,v in ipairs(x) do
   if (not hash[v]) then
       y[#y+1] = v
       hash[v] = true
   end
end
$y = array_unique($x);
for i := Low(X) to High(X) do Include(Y,X[i]);
my %y = map {$_=>0} @x;
y = set(x)
set(x)
require 'set'
y = x.to_set
use std::collections::HashSet;
let y = x.iter().cloned().collect::<HashSet<_>>();
val y = x.toSet

Do you know the best way to do this in your language ?
New implementation...

Idiom created by

programming-idioms.org

Related idioms