【发布时间】:2019-05-15 16:08:58
【问题描述】:
我有两个列表。列表 B 就像一个数据库,我需要将列表 A 的每个元素一一进行比较。让我们说
B = [0.6, 1.7, 3, 4.5]
A = [0.6, 0.9, 1.2, 1.5, 2, 2.5, 3, 4, 4.5]
B 是一个排序列表,因此对于每个 A[i],只要算法在 B 中找到 >= A[i] 的数字,它就应该将其作为输出返回。所以我的输出应该是这样的:
C = [0.6, 1.7, 1.7, 1.7, 3, 3, 3, 4.5, 4.5]
您能否建议我最简单的解决方案,尽可能避免嵌套循环?
【问题讨论】:
-
你的输出 C 没有意义。 B 中的 4.5 大于 A 的前 8 个条目,因此根据您的解释,4.5 应该在 C 中出现 8 次,但您编写的 C 中只有两次 4.5。这也适用于其他几个数字,例如 3
-
@Bazingaa,他需要第一个更大的元素。
-
如果
B = [0.6, 1.7, 3, 3.9]怎么办?请注意,B中的最后一个元素小于A中的最后(两个)元素。
标签: python arrays list numpy sorting