How to find Intersection of Two Sets in Perl


How to find Intersection of Two Sets in Perl ?

Answer

In Perl, you can find the intersection of two sets using the built-in hash data structure and the keys function to extract the common elements.



✐ Examples

1 Find Intersection of Two Sets

In this example,

  1. We create two hash structures, %set1 and %set2, representing the two sets.
  2. We use the keys function to extract the keys (elements) from %set1 and %set2.
  3. We use the grep function to filter out elements from %set1 that are present in %set2.
  4. The result is an array containing the elements common to both sets.

Perl Program

my %set1 = map { $_ => 1 } qw(1 2 3 4);
my %set2 = map { $_ => 1 } qw(3 4 5 6);

my @intersection = grep { $set2{$_} } keys %set1;

print "Intersection of set1 and set2: @intersection\n";

Output

Intersection of set1 and set2: 3 4

2 Find Intersection of Two Sets with Duplicate Elements

In this example,

  1. We create two hash structures, %set1 and %set2, representing the two sets.
  2. We use the keys function to extract the keys (elements) from %set1 and %set2.
  3. We use the grep function to filter out elements from %set1 that are present in %set2.
  4. The result is an array containing the elements common to both sets, including duplicates.

Perl Program

my %set1 = map { $_ => 1 } qw(1 2 2 3 4);
my %set2 = map { $_ => 1 } qw(2 2 3 4 5);

my @intersection = grep { $set2{$_} } keys %set1;

print "Intersection of set1 and set2 with duplicates: @intersection\n";

Output

Intersection of set1 and set2 with duplicates: 2 2 3 4

Summary

In this tutorial, we learned How to find Intersection of Two Sets in Perl language with well detailed examples.




More Perl Sets Tutorials

  1. How to create an Empty Set in Perl ?
  2. How to Initialize a Set in Perl ?
  3. How to Get Length of a Set in Perl ?
  4. How to create a Set of size N in Perl ?
  5. How to create a Set of Numbers from 1 to N in Perl ?
  6. How to create a Set of integers in Perl ?
  7. How to create a Set of Strings in Perl ?
  8. How to Access Items in a Set in Perl ?
  9. How to get a Random Item in a Set in Perl ?
  10. How to Iterate Over a Set in Perl ?
  11. How to check if a Set is Empty in Perl ?
  12. How to check if a Set is Not Empty in Perl ?
  13. How to get Subset from a Set in Perl ?
  14. How to check if a Specific Item is present in the Set in Perl ?
  15. How to check if a Set contains all the items of Another Set in Perl ?
  16. How to Sort Items of a Set in Perl ?
  17. How to Copy a Set in Perl ?
  18. How to add an Item to a Set in Perl ?
  19. How to find Union of Two Sets in Perl ?
  20. How to find Intersection of Two Sets in Perl ?
  21. How to check if Two Sets are Equal in Perl ?
  22. How to Convert a Set of Integers to a Set of Strings in Perl ?
  23. How to Convert a Set of Strings to a Set of Integers in Perl ?
  24. How to Convert a Set of Floats to a Set of Strings in Perl ?
  25. How to Convert a Set of Strings to a Set of Floats in Perl ?
  26. How to Filter Items of a Set based on a Condition in Perl ?
  27. How to Remove Specific Item from a Set in Perl ?
  28. How to Remove Items from Set based on a Condition in Perl ?
  29. How to create a Set of Sets in Perl ?