Python 如何比较不在另一个二维列表中的二维列表?

Python 如何比较不在另一个二维列表中的二维列表?,python,python-3.x,list,multidimensional-array,Python,Python 3.x,List,Multidimensional Array,我有两个二维的列表。我想比较不在df1中的df0。这是我下面的代码,但它只给我匹配的值 例如: df0=[[2, 4, 7, 13, 14], [3, 5, 8, 13, 14], [6, 9, 10, 13, 14]] df1=[[4, 7, 9, 12], [12, 15, 17, 18, 19], [13, 22, 23, 24, 30], [2, 5, 7, 8, 9], [6, 7, 12, 14, 15]] df3= l

我有两个二维的列表。我想比较不在df1中的df0。这是我下面的代码,但它只给我匹配的值

例如:

df0=[[2, 4, 7, 13, 14],
     [3, 5, 8, 13, 14],
     [6, 9, 10, 13, 14]]

df1=[[4, 7, 9, 12],
     [12, 15, 17, 18, 19],
     [13, 22, 23, 24, 30],
     [2, 5, 7, 8, 9],
     [6, 7, 12, 14, 15]]

df3= list(enumerate([[list(set(x) & set(y))
                      for x in df0
                      if x not in df1]
                     for y in df1]))
我希望我的结果是:

[[[9, 12], [], [22,23,24,30], [5,8,9], [6,12,15]],
 [[], [], [22,23,24,30], [2,7,9], [6,7,12,15]],
 [[], [], [22,23,24,30], [], [7,12,15]]]

通过应用此算法,可以获得您想要的结果:

[ [ list(sorted(set(x) - set(y)))
    if set(y) & set(x)
    else []
    for x in df1 ]
  for y in df0 ]

但如果这有意义的话,那就取决于你:)

[122,23,24,30]来自哪里?你发布的结果是否与你描述的问题有关?
df1
不包含
122
,Chris88。@Chris88,不清楚哪种算法可以根据给定的数据生成这样的结果,但绝对不是比较。看起来OP是在寻找
set.difference
[[list(set(x).difference(y)]用于df1中的x]用于df0中的y]
我怀疑,虽然预期结果部分正确,但正如我现在看到的,也不完全正确。最后一排不一样。但也许作为一个建议,它有助于理解OP的含义。这个锅非常感谢你。另外,你如何把enumerate放在你的列表中,以及你在评论中的理解。