它的功能可以看這個
在這裡需要注意一點,當通過for迴圈遍歷時,遍歷會在某一iter遍歷到頭後停止,也就是當其中乙個iter的元素數量小於另乙個,那麼元素多的iter的剩餘元素不會被遍歷。
這個主要是我在看faster-rcnn原始碼時看到的,覺得很不錯。其中的**如下:
for iter_ in
( pred_bboxes, pred_labels, pred_scores,
gt_bboxes, gt_labels, gt_difficults):if
next
(iter_,
none)is
notnone
:raise valueerror(
'length of input iterables need to be same.'
)
這裡的pred_bboxes, pred_labels, pred_scores, gt_bboxes, gt_labels, gt_difficults都是迭代器,整個**的意思是:上面的 six.moves.zip(上面**之前的語句,很長所以沒寫)遍歷會在某一iter遍歷到頭後停止,由於pred_bboxes等是全域性iter物件,我們此時繼續呼叫next取下一資料,如果有任一資料不為none,那麼說明他們的len是不相等的 有悖常理,資料錯誤 迭代器訪問容器中的元素
學習了c 中迭代器的相關知識,iterator迭代器它提供了訪問容器中元素的介面。迭代器範圍是由一對迭代器來確定的,兩個迭代器分別指向容器中的首元素和為元素之後的位置,這兩個迭代器通常被稱為begin和end 值得注意的是迭代器end不會指向容器中的任何元素。迭代器使用與指標頗為相似,訪問容器內部的...
c STL中迭代器刪除元素
對於序列容器vector,deque來說,使用erase itertor 後,後邊的每個元素的迭代器都會失效,但是後邊每個元素都會往前移動乙個位置,當前的迭代器指標直接指向了下乙個元素 對於關聯容器map set 來說,使用了erase iterator 後,當前元素的迭代器失效,但是其結構是紅黑樹...
Python 的迭代器與zip詳解
目錄 首先丟擲乙個困擾本人許久的問題 nums 1,2,3,4,5,6 numsiter iter nums for in zip numsiter 3 print print list numsiter 則控制台輸出如何?1.對於支援迭代的集合物件,可以建立其迭代器物件。迭代器物件儲存了可迭代物件...