【发布时间】:2011-10-25 10:59:43
【问题描述】:
我有一个输入列表,例如:
mylist = [('a', [(2, 4), (0, 5)]), ('b', [(3, 9), (1, 1)]), ("'", None), ('c', [(1,7), (2, 8)])]
我必须对列表中的值进行比较。 (2,4) 之类的项目表示范围。列表中的“无”条目就像一个边界。比较发生在边界内。所以在这里,将首先在 a 和 b 之间进行比较。比较基本上是在不同条件下给出的值之间进行比较,例如它们是否重叠,因为它们是范围。因此,在与邻居的范围比较后,范围会发生变化。
if within the boundary : (something like "if ! None : then continue")
do the comparisons between the items inside the boundary
if None :
move to next boundary
do the comparisons between the items inside the next boundary
比较是使用简单的规则,例如比较 (2,4) 和 (3,9),然后这两个部分重叠,因此选择它们之间的共同点。因此,结果是 (3,4)。
我已经编写了所有比较规则的代码,但我没有限制地尝试它们。但它们应该在界限内。而且我无法用代码表达边界。谢谢。
【问题讨论】:
-
你想得到什么结果?
-
结果将与输入列表的类型相同,除了在比较内部值时值的变化。它们实际上代表范围。假设当我们比较 a 和 b 时,(2, 4) 将与 (3, 9) 进行比较,a 的结果取决于给定的规则或条件。所以a的值将替换为'a',[(2,3),(0,1)]。谢谢。
-
投反对票,因为它非常不清楚。澄清问题,以便我们了解您要做什么,我将修改否决票。
标签: python