根据另一个列表中的值过滤列表列表

时间:2019-10-07 18:16:54

标签: python-3.x list lambda list-comprehension

想象一下,我有一个代表我的数据的列表列表:

epochs = ['63745142300000', '63745142300000']

data = [['63745142300000', '-42.1875', '343.125', '1.06811', '2399.8534297886836'], 
        ['63745142300000', '-42.1875', '354.375', '1.06811', '2397.8534297886836'],
        ['63745142200000', '-42.1875', '354.375', '1.06811', '3209.434989474921'], 
        ['63745142200000', '-42.1875', '5.625', '1.06811', '2658.981843351356']]

我想根据第一个列表中的值过滤数据。应用过滤后,我想从数据变量的各个列表中选择不同的值。

所以我最终会得到:

expected_result = [['2399.8534297886836', '2397.8534297886836'],
 ['3209.434989474921','2658.981843351356']]

列表列表,其中使用epochs变量中的项目从data变量中过滤出值。

我认为列表理解应该有可能。我尝试过类似的事情:

test = [item for item in data if item[0] in epochs]
print(test)

但是它会打印出数据中的所有列表,而不是每个列表的最后一项。

感谢您的帮助

0 个答案:

没有答案