我有我使用的地理列表測試成員,並從這次失敗檢查預算清單中刪除條目的方法的問題。有趣的是,這種方法需要運行3次抓到失敗的條目100%之前。Python測試會員限制?
BUDG元素例子:
budg = ['KELOG_PSOD_32773 20131125 000327 73144652.3376898.6 9769.50', 'KELOG_PSOD_32774 20131125 000327 74140034.3406629.9 4473.90']
地理元素的例子:
geolist = ['KELOG_GEO_32773','KELOG_GEO_32775']
def remove_entry(budg, geolist):
for e in budg:
record = 'KELOG_GEO_' + e[11:e.index(' ')]
if record not in geolist:
print e
removed.append(budg.pop(budg.index(e)))
我針對每個約爲2500項列表運行此。截至今天,44個失敗的條目存在於預算列表中。一直運行此方法後,始終在預算列表中總有7個誤報。然後他們中的4人被第二次抓住。最後剩下的3個在第三輪中找到。我知道我可以只運行的方法3次在我的劇本和收工,但是這真的開始來煩我。
我試着對列表進行反向排序,並且足夠有趣我在第一次嘗試中抽取了44個失敗項目中的37個,但其中一些是第二個和第三個項目,如果我不反向排序列表。
是否有任何你知道的成員資格測試的任何限制,我可以用這個代碼違反?有沒有人看到過像這樣的列表行爲?
你也可以在xrange(len(budg)-1,-1,-1)中使用'for i:'向後跨越列表,那麼你不必有一個特殊的處理程序來有條件地修改計數器。 –
@SilasRay:當然,但是你必須反過來去掉'',或者在開始時插入。 –
夠正確。猜測歸結到「去除」與「budg」相比,哪個最好。 –