Home > Enterprise >  How to match two list with the same length
How to match two list with the same length

Time:01-23

i have two list with the same length . i would like to find a match in df and df2.

   df = [[[1, 5,7,9,12,13,17],
   [2,17,18,23,32,34,45],
   [3,5,11,33,34,36,45]],
  [[6,21,22,50,56,58,72],
  [7,5,12,13,55,56,74],
  [8,23,24,32,56,58,64]]]

    df2 = [[[100,5,12,15,27,32,54],
    [120,10,17,18,19,43,55],
    [99,21,32,33,34,36,54]],
   [[41,16,32,45,66,67,76],
    [56,10,11,43,54,55,56],
    [77,12,16,18,19,21,23]]]
    

i would like my output to be like this or similar.

    output = [[[[5,12,],[17]],
      [[17,18],[32,34,36]]],
      [[[55,56],[32]],[[56]]]

CodePudding user response:

output = [[[list(set(a).intersection(b)) for a, b in zip(df_sublist, df2_sublist) ] for df_sublist, df2_sublist in zip(df, df2)]

  • Related