【发布时间】:2021-04-26 20:39:51
【问题描述】:
我有两个列表
queryBounds = [[2, 1924], [2, 1924], [2187, 2233], [2187, 2233]]
sequenceBounds = [[95516, 97442], [139777, 137851], [97433, 97479], [137860, 137814]]
我想将 queryBounds 拆分为两个列表 queryBoundsA 和 queryBoundsB 以便在两个列表中都没有重复,即
queryBoundsA = [[2, 1924], [2187, 2233]]
queryBoundsB = [[2, 1924], [2187, 2233]]
然后我想将sequenceBounds 拆分为两个列表sequenceBoundsA 和sequenceBoundsB,以便sequenceBounds 中与queryBounds 具有相同索引的项目移动到queryBoundsA 或queryBoundsB ,并且它们的列表索引与来自sequenceBounds 的具有相同索引的项目的位置匹配。
sequenceBoundsA = [[95516, 97442], [97433, 97479]]
sequenceBoundsB = [[139777, 137851], [137860, 137814]]
当queryBounds 仅包含重复项时,我也需要此功能:
queryBounds = [[2, 2233], [2, 2233]]
sequenceBounds = [[111722, 113939], [166447, 164230]]
queryBoundsA = [[2, 2233]]
queryBoundsB = [[2, 2233]]
sequenceBoundsA = [[111722, 113939]]
sequenceBoundsB = [[166447, 164230]]
我不知道该怎么做
【问题讨论】:
-
问题:如果 queryBounds 列表中有 三个 项出现应该怎么办?还是这种情况不太可能发生?
-
在什么基础上分离 queryBoundsA 和 queryBoundsB,更大的测试数据会更容易理解
-
请从intro tour 重复on topic 和how to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后然后就您的算法或技术提出一个具体的问题。 Stack Overflow 无意取代现有的文档和教程。
-
Stack Overflow 不是编码服务,我们一般不处理代码设计。如果您需要帮助,请将您的示例扩展为完整的规范并发布您的问题代码。 (见minimal, reproducible example (MRE))。
-
最好的策略很可能取决于你想用这些对做什么。我可以想象,当您可以遍历压缩列表并随时检查重复项时,拆分列表可能会浪费时间。