두 배열 @results와 @ results2 사이에 숫자가 매겨집니다. 예 : (12345678 182937439 18329741 등)두 배열에서 고유 한 값 찾기 - Perl
두 배열에서 내가 결합하면 나는 원하지 않는 중복을 얻을 수 있습니다. 두 배열을 비교하고, 고유 한 값을 유지하고 다른 값을 차례로 인쇄하고 싶습니다. 당신이 "독특한"생각 할 때마다
두 배열 @results와 @ results2 사이에 숫자가 매겨집니다. 예 : (12345678 182937439 18329741 등)두 배열에서 고유 한 값 찾기 - Perl
두 배열에서 내가 결합하면 나는 원하지 않는 중복을 얻을 수 있습니다. 두 배열을 비교하고, 고유 한 값을 유지하고 다른 값을 차례로 인쇄하고 싶습니다. 당신이 "독특한"생각 할 때마다
그래서 배열을 중복 제거 생각
어떤 도움을 주시면 감사하겠습니다 제발 .... List::MoreUtils
uniq
기능에서 차용이 코드 :
sub uniq {
my %seen;
grep { !$seen{$_}++ } @_;
}
my @unique = uniq(@results, @results2);
완벽한! TLP에 감사드립니다! – user2320229
@ user2320229 여러분을 환영합니다. – TLP
특히 값이 부동 소수점 인 경우 숫자 값에 해시를 사용하면 약간의 문제가 발생할 수 있습니다. '200','0200','200.0','2E2'는 모두 같은 값을 나타낼 수 있습니다. 값이 정수인 경우에도 모든 것을 균일하게 만들기 위해'map {sprintf '% d', $ _} @ data'를 적용하는 것이 가장 좋습니다. – Borodin
는 "해시"
#!/usr/bin/perl
use strict;
use warnings;
my @a = qw(1 2 3);
my @b = qw(3 4 5);
my %x = map { $_ => 1 } @a, @b;
print join ", ", keys %x; # 4, 1, 3, 2, 5
유형'perldoc을 -q duplicate' 명령 프롬프트에서. –