【发布时间】:2013-11-04 23:12:45
【问题描述】:
我知道这听起来很容易。不是为了这个任务。
想象以下场景:您有一个正在运行的连接,以及一个名为 example 的列表。您会得到一些带有常数 x 的数据,它总是从 1 开始,然后不断增加,直到连接关闭。您需要一些围绕该数字的数据,并将其存储在该数字位置的列表中。所以example[x-1]。好的,这样基本的问题就解决了。
这不能解决的问题是,如果连接给您一个命令来删除以前存储的一些数据,因为这些数据不再需要。假设此时列表中有 10 个项目,您需要在位置 3、5 和 6 处删除。所以现在,示例在 7。x 现在是 11,您插入一些数据,现在 example的长度为 8。此时,exmaple[x-1] != 11。所以现在,我们有了碎片。
问题是这样的。该连接将(但不是按固定顺序)为您提供一些其他数据。该数据的编号也与x 相同,但我们会说它是y。这些数据需要放在一起(假设x 和y 是为了本示例的目的需要添加的整数,尽管我们实际上是在填充类中缺少的东西)。但在数据序列的稍后点,但您现在不再有 x-1 将数据的 2 部分放在一起。现在的问题是,因为您无法设置 example[x] 并且 总是 将其 完全 设置在 example 中的位置 x,所以现在无法进入运行时匹配x 和y 这两个位置。
我的问题是,在 C++ 中是否有某种方式可以做到example[x] = data;,无论x 的位置如何,取决于列表中发生的变化,例如删除项目。如果这不可能,那么我将努力计算example 列表位置的公式,以便它始终可以匹配。
【问题讨论】:
-
是的,让它成为一个字典而不是一个列表......
-
或者,OP 可以将项目重新分配给
None而不是删除 -
@JoranBeasley 你的评论澄清了一个问题,我完全迷失在第三段
-
如果你运行这个东西 30 天,我会说这对于 ram 的使用效率很低。
-
什么?单元格表是什么意思?
标签: python list position constants