집합의 교집합과 차이를 계산하는 Perl 프로그램 작성
Perl에서 교집합 차이 집합을 작성하는 프로그램
엄격하게 사용하세요.
utf8을 사용하세요;
open fa, "a.txt" 또는 die "a를 열 수 없음";
fb를 열거나 "b.txt"를 입력하지 않으면 "b를 열 수 없습니다";
chomp ( my @A = ) ;
chomp ( my @B = ) ;
닫기 b;
my(@everyone, @AHasBNot, @BHasANot, %count);
$count{A}{$_}=1 각 @A;
$count{B}{$_}=1 각 @B;
이 코드에서는 루프와 해시 테이블을 사용하여 키 목록을 반복한 다음 주어진 키 값으로 카운터를 증가시킬 수 있습니다. 이 코드는 두 개의 해시 테이블(A와 B)을 사용하고 해당 키를 반복합니다. 그런 다음 루프에서 카운터(C)와 foreach 문을 사용하여 주어진 키 값만큼 카운터 값을 증가시킬 수 있습니다.
@Everyone has = grep { $count{C}{$_} == 2 }key %{$count{C}}; 해시 테이블 $count{C}에 따라 값이 2인 키를 의미합니다. @everyone 배열에 저장하세요. 이 문은 해시 테이블을 필터링하고 조건을 충족하는 요소만 유지하는 데 사용됩니다.
foreach(@A, @B) { $count{A}{$_}++; $count{B}{$_}++; }
@A has B? 이 코드는 Perl 언어의 grep 함수와 sort 함수를 사용하여 해시 배열 %count에서 A 키에 해당하는 값에 한 번만 나타나는 요소를 선택하고 알파벳 순서로 정렬합니다.
이 코드에서는 Perl 언어의 'grep' 함수를 사용하여 배열 B에는 한 번 나타나지만 배열 A에는 나타나지 않는 요소를 필터링합니다. 구체적인 구현은 B 배열의 각 요소를 반복하고 해시 테이블 '%count'를 사용하여 각 요소의 발생 횟수를 기록하는 것입니다. 마지막으로 B 배열을 정렬한 다음 `grep` 함수를 사용하여 조건을 충족하는 요소를 필터링합니다. 마지막으로 필터링된 결과를 배열로 반환합니다.
print("공통: @모든 사람이 가지고 있습니다$/A-Only: @A만 가지고 있습니다$/B-Only: @B만 가지고 있습니다");
PHP에서 두 개의 2차원 배열 사이에 설정된 차이를 확인하는 방법
$a=[
["sb번호" => "0001-00001", "이름" => "心安园"],
["sbnumber" => "0001-00002", "이름" => "중정원"],
["sbnumber" => "0001-00003", "name" => "실용적인 정원"]
["sbnumber" => "0001-00004", "name" => "서비스 가든"],
{ "sbnumber": "0001-00005", "name": "장산" }
];
$b=[
["sb번호" => "0001-00001", "이름" => "心安园"],
["sbnumber" => "0001-00002", "이름" => "중정원"],
["sbnumber" => "0001-00003", "name" => "실용적인 정원"]
["sbnumber" => "0001-00004", "name" => "서비스 가든"],
{"sbnumber": "0001-00007", "이름": "lee思"}
];
$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;
설정 해제($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) "lee思" }
두 개의 차이점 집합을 비교하고 결과를 병합하려면 콘텐츠 비교를 위한 맞춤 규칙을 사용해야 합니다. 다양한 내용(예: 이름)을 기반으로 기록 간의 차이점을 판단하여 비교할 수 있습니다.
위 내용은 집합의 교집합과 차이를 계산하는 Perl 프로그램 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 "invalid_data_access_trap"(0x00000004) 오류, 중요한 BSOD를 다룹니다. 결함이있는 드라이버, 하드웨어 오작동 (RAM, 하드 드라이브), 소프트웨어 충돌, 오버 클럭킹 및 맬웨어와 같은 일반적인 원인을 탐색합니다. 문제

기사는 Windows 레지스트리 편집, 예방 조치, 백업 방법 및 잘못된 편집의 잠재적 문제에 대해 설명합니다. 주요 이슈 : 부적절한 변화로 인한 시스템 불안정성 및 데이터 손실의 위험.

기사는 시작, 중지, 서비스 재시작 및 안정성 모범 사례를 포함하여 시스템 건강을위한 Windows 서비스 관리에 대해 논의합니다.

Windows 설정에서 Drive Health 경고는 무엇을 의미하며 디스크 경고를받을 때 어떻게해야합니까? 이 PHP.CN 튜토리얼을 읽고이 상황에 대처할 수있는 단계별 지침을 얻으십시오.

이 기사는 ENE.Sys를 RealTek 고화질 오디오 드라이버 구성 요소로 식별합니다. 오디오 하드웨어 관리에있어 기능을 자세히 설명하고 오디오 기능에서 중요한 역할을 강조합니다. 이 기사는 또한 사용자가 정당성을 확인하도록 안내합니다

이 기사는 Windows Asio.sys 오디오 드라이버의 실패를 다룹니다. 일반적인 원인으로는 손상된 시스템 파일, 하드웨어/드라이버 비 호환성, 소프트웨어 충돌, 레지스트리 문제 및 맬웨어가 포함됩니다. 문제 해결에는 SFC 스캔, 드라이버 upda가 포함됩니다

이 기사는 시스템 설정을 관리하기 위해 Windows에서 그룹 정책 편집기 (GPEDIT.MSC)를 사용하는 방법을 설명하고 일반적인 구성 및 문제 해결 방법을 강조합니다. gpedit.msc는 Windows 홈 에디션에서 사용할 수 없다고 제안합니다.

기사에서는 회복 및 대량 변경을 포함하여 Windows의 파일 유형에 대한 기본 앱 변경에 대해 설명합니다. 주요 이슈 : 내장 벌크 변경 옵션 없음.
