集合の共通部分と差分を計算する Perl プログラムを作成する
交差差分セットを作成するための Perl プログラム
厳密を使用;
utf8を使用します;
fa、「a.txt」を開くか、「a.txt を開けません」;
FB を開くか、「b.txt」を選択するか、「b を開けません」を選択してください;
chomp (私の @A = ) ;
chomp (私の @B = ) ;
aを閉じる; bを閉じる;
私 (@みんな、@AHasBNot、@BHasANot、%count);
@A ごとに$count{A}{$_}=1;
$count{B}{$_}=1 @B ごとに;
このコードでは、ループとハッシュ テーブルを使用して、キーのリストを反復処理し、指定されたキーの値だけカウンターをインクリメントできます。このコードは 2 つのハッシュ テーブル (A と B) を使用し、それらのキーを反復処理します。次に、ループ内でカウンター (C) と foreach ステートメントを使用することで、指定されたキーの値だけカウンター値をインクリメントできます。
@Everyone has it = grep { $count{C}{$_} == 2 } Keys %{$count{C}}; ハッシュ テーブル $count{C} の値が 2 に等しいことを意味しますキーをフィルタリングして除外し、@everyone 配列に保存します。このステートメントは、ハッシュ テーブルをフィルタリングし、条件を満たす要素のみを保持するために使用されます。
foreach (@A, @B) { $count{A}{$_}; $count{B}{$_}; }
@A Yes B No このコードは、Perl 言語の grep 関数と sort 関数を使用して、ハッシュ配列 %count から A キーに対応する値に 1 回だけ出現する要素を選択し、アルファベット順にソートします。
このコードでは、Perl 言語の `grep` 関数を使用して、配列 B には一度出現するが配列 A には出現しない要素をフィルターで除外します。具体的な実装では、B 配列の各要素をループし、ハッシュ テーブル `%count` を使用して各要素の出現数を記録します。最後に、B 配列をソートし、`grep` 関数を使用して条件を満たす要素を除外します。最後に、フィルター処理された結果を配列として返します。
print("共通: @全員が持っています$/A-のみ: @Aのみが持っています$/B-のみ: @Bのみが持っています");
php 2 つの 2 次元配列間の差分セットを決定する方法
$a=[
["sbnumber" => "0001-00001", "name" => "新安裁判所"],
["sbnumber" => "0001-00002", "name" => "中正源"],
["sbnumber" => "0001-00003", "name" => "プラグマティック ガーデン"]
["sbnumber" => "0001-00004", "name" => "サービスコート"],
{ "sbnumber": "0001-00005", "名前": "張三" }
];
$b=[
["sbnumber" => "0001-00001", "name" => "新安裁判所"],
["sbnumber" => "0001-00002", "name" => "中正源"],
["sbnumber" => "0001-00003", "name" => "プラグマティック ガーデン"]
["sbnumber" => "0001-00004", "name" => "サービスコート"],
{"sbnumber": "0001-00007", "name": "李思"}
];
$cmp=関数($av, $bv){
$r は、$av['sbnumber'] と $bv['sbnumber'] を比較して得られた結果です。
return $r===0 ? strcmp($av['name'],$bv['name']) : $r;
};
次のコードを使用すると、配列 $b とは異なる配列 $a の値を取得し、それらを配列 $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]=> 配列(2) { ["sbnumber"]=> 文字列(15) "0001-00005" ["名前"]=> 文字列(6) "張三" }
[1]=> 配列(2) { ["sbnumber"]=> 文字列(15) "0001-00007" ["名前"]=> 文字列(6) "李思" }
2 つの差分セットを比較して結果をマージするには、コンテンツを比較するためのカスタム ルールを使用する必要があります。異なる内容 (名前など) に基づいてレコード間の違いを判断し、レコードを比較できます。
以上が集合の共通部分と差分を計算する Perl プログラムを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、Windows "Invalid_data_access_trap"(0x00000004)エラー、重要なBSODについて説明します。 故障したドライバー、ハードウェアの誤動作(RAM、ハードドライブ)、ソフトウェアの競合、オーバークロック、マルウェアなどの一般的な原因を調査します。 問題

この記事では、ENE SYSシステムを維持するための実用的なヒントを提供します。 過熱やデータの破損などの一般的な問題に対処し、定期的なクリーニング、バックアップ、ソフトウェアの更新などの予防策を提供します。 テーラードメンテナンスs

この記事では、ENE SYSの実装における5つの一般的な落とし穴が特定されています。計画不足、不十分なユーザートレーニング、不適切なデータ移行、セキュリティの無視、およびテスト不足です。 これらのエラーは、プロジェクトの遅延、システムの障害につながる可能性があります

記事では、誤った編集からWindowsレジストリ、予防策、バックアップ方法、潜在的な問題の編集について説明します。主な問題:システムの不安定性と不適切な変化によるデータ損失のリスク。

Windowsの設定でのドライブヘルス警告はどういう意味ですか?ディスク警告を受け取ったときに何をすべきですか?このPHP.CNチュートリアルを読んで、この状況に対処するための段階的な指示を取得してください。

記事では、システムの健康のためのWindowsサービスの管理、開始、停止、サービスの再起動、安定性のためのベストプラクティスなどについて説明します。

この記事では、ENE.SYSがRealTekの高解像度オーディオドライバーコンポーネントとして識別します。 オーディオハードウェアの管理における機能を詳しく説明し、オーディオ機能における重要な役割を強調しています。 また、この記事は、ユーザーの正当性の確認についてもガイドしています

この記事では、Windows ASIO.SYSオーディオドライバーの障害について説明します。 一般的な原因には、破損したシステムファイル、ハードウェア/ドライバーの非互換性、ソフトウェアの競合、レジストリの問題、マルウェアが含まれます。トラブルシューティングには、SFCスキャン、ドライバーUpdaが含まれます
