Logo

Programming-Idioms

Set c to the number of distinct elements in the list items.
New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
(def items [1 2 3 4 4 5 5 5])

(def c (count (set items)))
using System.Linq;
int c = items.Distinct().Count();
var c = items.toSet().length;
c = items |> Enum.uniq |> length
func count[T comparable](items []T) int {
	distinct := make(map[T]bool)
	for _, v := range items {
		distinct[v] = true
	}
	return len(distinct)
}
distinct := make(map[T]bool)
for _, v := range items {
	distinct[v] = true
}
c := len(distinct)
import Data.List
c = count . nub $ items
const c = new Set(items).size;
long c = items.stream().distinct().count();
val c = items.distinct().size
local c=#items
$c = count(array_unique($items));
uses classes;
function CountUniqueItems(Items: TStrings): Integer;
var
  List: TStringList;
begin
  List := TStringList.Create;
  List.Duplicates := dupIgnore;
  List.Sorted := True;
  List.AddStrings(Items);
  Result := List.Count;
  List.Free;
end;

begin
 ...
 c := CountUniqueItems(items);
 ...
end.
use List::Util qw(uniq);
my $c = scalar(uniq @items);
c = len(set(items))
c = items.uniq.count
use itertools::Itertools;
let c = items.iter().unique().count();