在Mathematica中相交的子列表

rad*_*rat 2 transpose wolfram-mathematica

我有以下两个清单

l1 = {{{2011, 3, 13}, 1}, {{2011, 3, 14}, 1}, {{2011, 3, 15}, 
    1}, {{2011, 3, 16}, 2}, {{2011, 3, 17}, 3}};
l2 = {{{2011, 3, 13}, 40}, {{2011, 3, 16}, 50}, {{2011, 3, 17}, 60}};

我需要从l2中提取项目,其日期(每个l2元素的第一个元素)与l1中的日期匹配(以便生成两个完全相同长度的列表)

我不明白为什么会这样:

Select[l1, MemberQ[Transpose[l2][[1]], #[[1]]]]

应该产生一个空列表.我错过了一些微不足道的事情吗?

Sjo*_*ies 7

你忘记了&符号.它应该是

Select[l1, MemberQ[Transpose[l2][[1]], #[[1]]]&]
Run Code Online (Sandbox Code Playgroud)