Perl技巧 兩個陣列的取交集,並集與補集
利用perl 對兩個陣列進行操作。 目的是取2個數組只屬於各自的元素,以及2個數組的共同元素。(可見下圖)
程式碼:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @a = (1,2,3,4,5,6,7,8,); my @b = (1,9,0,4,15,6,12,8); my %hash_a = map{$_=>1} @a; my %hash_b = map{$_=>1} @b; my %merge_all = map {$_ => 1} @a,@b; my @a_only = grep {!$hash_b{$_}} @a; my @b_only = grep {!$hash_a{$_}} @b; my @common = grep {$hash_a{$_}} @b; my @merge = keys (%merge_all); print "A only :\n"; print Dumper(\@a_only); print "B only :\n"; print Dumper(\@b_only); print "Common :\n"; print Dumper(\@common); print "Merge :\n"; print Dumper(\@merge);
執行結果 :
[email protected]:/home/dxxu>{76}perl array_operation.pl A only : $VAR1 = [ 2, 3, 5, 7 ]; B only : $VAR1 = [ 9, 0, 15, 12 ]; Common : $VAR1 = [ 1, 4, 6, 8 ]; Merge : $VAR1 = [ '6', '3', '7', '9', '12', '2', '15', '8', '1', '4', '0', '5' ];
相關推薦
Perl技巧 兩個陣列的取交集,並集與補集
利用perl 對兩個陣列進行操作。 目的是取2個數組只屬於各自的元素,以及2個數組的共同元素。(可見下圖) 程式碼: #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @a = (1,2,3
python 兩個list 求交集,並集,差集
pytho 列表解析 int __main__ class clas etc intersect run def diff(listA,listB): #求交集的兩種方式 retA = [i for i in listA if i in listB]
python兩個 list 獲取交集,並集,差集的方法
交集 spa 兩個 方法 val inter tmp for col 1. 獲取兩個list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #
java兩個List的交集,並集,差異集
public static void main(String[] args) { List list1 =new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); lis
求兩個list的交集,並集,差集。
1. 獲取兩個list 的交集 1 2 3 4 5 6 7 8 9 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for
java 對兩個list進行“交集,並集,差集,去重複並集”的操作
@Test public void testTwoList(){ List<String> a = new ArrayList<String>(); List<
關於如何獲取兩個列表的交集,並集,差集,分享一個簡單高效的方法
lt1=[1,3,5,7,9] lt2=[1,5,7,6,4] #交集 print(list(set(a).intersection(set(b)))) #並集 print(list(set(a).union(set(b)))) #相當於是吧兩列表相加然後轉集合去重在轉列表 lt3=lt
兩個集合的交集,並集,差集如何計算
string[] arr1 = { "445345", "fsdfsdf", "423423", "123" }; string[] arr2 = { "123", "Fsdfs
【C++】判斷元素是否在vector中,對vector去重,兩個vector求交集、並集
bool iostream space col 求交集 uniq AI void print #include <iostream> #include <vector> #include <algorithm> //sort函數、交並補
求A,B陣列的交集,並集和差集
注意函式自身是否有元素重複的判斷,還有要把switch函式放在最後面,小細節。 還有一個小細節就是函式呼叫直接寫,前面不要在加cout; cout>>chaji(a,b,n);就會在結尾多出來一個數,為迴圈次數。 #include<iostream&
python功能二維表合併,一維表內嵌元祖合併以及取交集,並集,差集
1 二維列表和列表內有元祖的合併方法: from itertools import chain a = [[1],[2],[3]] b = [("1"),("2"),("3")]#不能為int型別 print list(chain.from_iterable(a))# =
java-----求兩個list的交集、並集、和差集
List list1 =new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); List list2 =new ArrayList(); list2.add("3333"
Java中多個集合的交集,並集和差集
一、交集 java中交集使用 A.retainAll(B) ,交集的結果在集合A中。 public class Intersection { @Test public void testSet() { Set<String>
求List,Map,Set的交集,並集與差集
應用場景 在大資料的背景下,我們在做專案的時候往往使用單表在資料庫中查詢資料,然後多表在service層進行關聯操作。比如說下面的情況就是如此,在這裡我並不是展開講多表之間如何實現解耦的單表查詢操作,我只是針對其中的涉及多表關聯的集合操作進行講解
js拼接字串,用逗號隔開 ;兩個陣列取不同
1. js拼接字串,用逗號隔開 //用jquery function getTextByJquery() { var str = ""; //遍歷name為txt的所有input元素 $("input[name='txt']").each(function () {
如何利用selenium+python獲取click()方法後 請求返回的結果 包含: javascript 陣列操作正則表示式匹配返回陣列,js兩個陣列取差集,再去重 by qiweb 2018
技術交流q and v信:908701702 ,熊貓燒香 qiweb2018 python程式碼思路【開啟網頁--定位元素--點選請求--獲取請求後伺服器返回的資訊】: # coding=utf-8 from selenium import webdriver from
【LeetCode】 350. 兩個陣列的交集 II
1.題目 給定兩個陣列,編寫一個函式來計算它們的交集。 2.思路 此題對第一題的區別在於可以輸出相同數字 例如:輸入【1,2,2,1】,【2,2】;輸出【2,2】 step1:遍歷兩個向量; step2:把兩個陣列重複的元素加入到vector res中(可以
【LeetCode】 349. 兩個陣列的交集
1.題目 給定兩個陣列,編寫一個函式來計算它們的交集。 2.思路 step1:遍歷兩個向量; step2:把重複的元素加入到set中(set不重複) step3:返回set對應的vector 注意:陣列1、2為空集的時候,直接返回空集 3.程式碼 vec
兩個陣列的交集 II [JS]
給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9] 說明: 輸出結果中每個元
資料結構:求兩個有序列表的交集,並集
1.求兩個有序列表的交集 LNode* Intersection(LNode* La,LNode* Lb) { if (La==NULL||Lb==NULL) { return NULL; } LNode *pCHead = NULL; //A與B交集頭 LNode *pCE