【发布时间】:2020-03-28 02:11:52
【问题描述】:
我有两个数字列表:
l1 = [12, 3, 4, 5, 7]
l2 = [ 6, 8, 4, 2, 4]
我想从l1 中检索比l2 中的元素大的所有元素(逐元素比较)
到目前为止我只实现了
results = list(map(operator.gt,l1,l2)
返回给我一个[True,False,...] 列表。但我想要值本身。
我想在没有任何 for 循环的情况下执行此操作,谢谢。我在考虑filter() 或itertools()
谢谢
【问题讨论】:
-
所以你想要每对中的
max? -
没有。只有那些 l1 大于 l2 的人
-
@jonrsharpe:我认为它只需要来自
l1的值 if 它们是这对中的最大值;l2值永远不会出现在结果中。 -
那么你期待什么输出呢?似乎您想映射到
l1的值或None然后过滤掉Nones -
如果有条件成功的索引也会很有趣。
标签: python python-3.x list filter itertools