Remove duplicate elements: Difference between revisions

From Rosetta Code
Content added Content deleted
m (Alphabetized list)
m (→‎[[Perl]]: Addid interpreter link)
Line 10: Line 10:


==[[Perl]]==
==[[Perl]]==
'''Interpeter:''' Perl
'''Interpeter:''' [[Perl]]


my %hash;
my %hash;
Line 16: Line 16:
@hash{@list} = 1;
@hash{@list} = 1;
# the keys of %hash now contain the unique list
# the keys of %hash now contain the unique list



==[[Python]]==
==[[Python]]==

Revision as of 16:49, 23 January 2007

Task
Remove duplicate elements
You are encouraged to solve this task according to the task description, using any language you may know.

Given a Array, create a derived Array containing only the unique elements

Java

 //Using Java 1.5/5.0
 Object[] data = new Object[] {1, 2, 3, "a", "b", "c", 2, 3, 4, "b", "c", "d"};
 Set uniqueSet = new HashSet(Arrays.asList(data));
 Object[] unique = uniqueSet.toArray();

Perl

Interpeter: Perl

my %hash;
my @list = (1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd');
@hash{@list} = 1;
# the keys of %hash now contain the unique list

Python

 data = [1, 2, 3, 'a', 'b', 'c', 2, 3, 4, 'b', 'c', 'd']

Using sets

 unique = list(set(data))

See also http://www.peterbe.com/plog/uniqifiers-benchmark and http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560

Ruby

 ary = [1,1,2,1,'redundant',[1,2,3],[1,2,3],'redundant']
 uniq_ary = ary.uniq
 # => [1, 2, "redundant", [1, 2, 3]]