我的问题是关于在循环中管理插入/追加方法。
我有两个长度列表N
:第一个(我们称之为s
)表示一个子集,而第二个表示x
我想要评估的数量。为简单起见,假设每个子集都表示 T 个元素。
cont = 0;
for i in range(NSUBSETS):
for j in range(T):
subcont = 0;
if (x[(i*T)+j] < 100):
s.insert(((i+1)*T)+cont, s[(i*T)+j+cont]);
x.insert(((i+1)*T)+cont, x[(i*T)+j+cont]);
subcont += 1;
cont += subcont;
在循环遍历两个列表的所有元素时,我希望在满足某个条件时(例如x[i] < 100
),将该元素的副本放在子集的末尾,然后继续循环直到完成子集的所有原始成员的分析。保持“顺序”很重要,即将元素插入到它来自的子集的最后一个元素旁边。
我认为一种方法可能是在 2 个计数器变量中分别存储在子集和全局范围内制作的副本数量(请参阅代码):这样,我可以根据它来移动我正在查看的元素的索引。我想知道是否存在一些更简单的方法来做到这一点,也许使用一些 Python 魔法。