


Write a Perl program to calculate the intersection and difference of sets
Perl program to write intersection difference set
use strict;
use utf8;
open fa, "a.txt" or die "can't open a";
open fb, "b.txt" or die "can't open b";
chomp ( my @A = ) ;
chomp ( my @B = ) ;
close a; close b;
my (@everyone, @AHasBNot, @BHasANot, %count);
$count{A}{$_}=1 foreach @A;
$count{B}{$_}=1 foreach @B;
In this code, by using a loop and a hash table, we can iterate over the list of keys and then increment the counter by the value of the given key. This code uses two hash tables (A and B) and iterates over their keys. Then, by using a counter (C) and a foreach statement in a loop, we can increment the counter value by the value of the given key.
@Everyone has it = grep { $count{C}{$_} == 2 } keys %{$count{C}}; means that the value in the hash table $count{C} is equal to 2 keys, filter them out and save them in the @everyone array. This statement is used to filter the hash table and only retain elements that meet the conditions.
foreach (@A, @B) { $count{A}{$_}; $count{B}{$_}; }
@A Yes B No This code uses the grep function and sort function of the Perl language to select elements that appear only once in the value corresponding to the A key from the hash array %count and sort them in alphabetical order. .
In this code, we use the `grep` function in the Perl language to filter out elements that appear once in array B but not in array A. The specific implementation is to loop through each element in the B array and use the hash table `%count` to record the number of occurrences of each element. Finally, we sort the B array and then use the `grep` function to filter out the elements that meet the conditions. Finally, we return the filtered results as an array.
print("Common: @Everyone has it$/A-Only: @Only A has it$/B-Only: @Only B has it");
php How to determine the difference set between two two-dimensional arrays
$a=[
["sbnumber" => "0001-00001", "name" => "Xin'an Court"],
["sbnumber" => "0001-00002", "name" => "Zhongzhengyuan"],
["sbnumber" => "0001-00003", "name" => "Pragmatic Garden"]
["sbnumber" => "0001-00004", "name" => "Service Court"],
{ "sbnumber": "0001-00005", "name": "Zhang San" }
];
$b=[
["sbnumber" => "0001-00001", "name" => "Xin'an Court"],
["sbnumber" => "0001-00002", "name" => "Zhongzhengyuan"],
["sbnumber" => "0001-00003", "name" => "Pragmatic Garden"]
["sbnumber" => "0001-00004", "name" => "Service Court"],
{"sbnumber": "0001-00007", "name": "李思"}
];
$cmp=function($av, $bv){
$r is the result obtained by comparing $av['sbnumber'] and $bv['sbnumber'].
return $r===0 ? strcmp($av['name'],$bv['name']) : $r;
};
You can use the following code to get the values in array $a that are different from array $b and store them in array $c: $c = array_values(array_udiff($a, $b, $cmp));
$d=array_udiff($b, $a, $cmp);
foreach($d as &$dv) $c[]=$dv;
unset($d);
var_dump($c);array(2) {
[0]=> array(2) { ["sbnumber"]=> string(15) "0001-00005" ["name"]=> string(6) "Zhang San" }
[1]=> array(2) { ["sbnumber"]=> string(15) "0001-00007" ["name"]=> string(6) "李思" }
In order to compare two difference sets and merge the results, you need to use custom rules for comparing content. Based on different content (such as names), we can determine the differences between records and thus compare them.
The above is the detailed content of Write a Perl program to calculate the intersection and difference of sets. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



What does the drive health warning in Windows Settings mean and what should you do when you receive the disk warning? Read this php.cn tutorial to get step-by-step instructions to cope with this situation.

Article discusses editing Windows Registry, precautions, backup methods, and potential issues from incorrect edits. Main issue: risks of system instability and data loss from improper changes.

Article discusses managing Windows services for system health, including starting, stopping, restarting services, and best practices for stability.

The Steam Cloud error can be caused by many reasons. To play a game smoothly, you need to take some measures to remove this error before you launch the game. php.cn Software introduces some best ways as well as more useful information in this post.

You may see the “A connection to the Windows Metadata and Internet Services (WMIS) could not be established.” error on Event Viewer. This post from php.cn introduces how to remove the Windows Metadata and Internet Services problem.

Article discusses changing default apps for file types on Windows, including reverting and bulk changes. Main issue: no built-in bulk change option.

KB5035942 update issues - crashing system commonly happens to users. Inflicted people hope to find a way out of the kind of trouble, such as crashing system, installation, or sound issues. Targeting these situations, this post published by php.cn wil

The article explains how to use the Group Policy Editor (gpedit.msc) in Windows for managing system settings, highlighting common configurations and troubleshooting methods. It notes that gpedit.msc is unavailable in Windows Home editions, suggesting
