2017-09-29 3 views
-1

Im nouveau en python et j'ai besoin d'un conseil sur la façon d'énumérer ou de manipuler correctement deque. Heres mon code:Comment énumérer correctement deque?

queue = deque([A,B,C,D,E]) 

for count, item in enumerate(queue): 
    print ("{} {}". format(str(count+1),item) 

Le code ci-dessus produira les résultats suivants:

1   A 
    2   B 
    3   C 
    4   D 
    5   E 

Maintenant, ma question est de savoir comment puis-je obtenir ce

2   B 
3   C 
4   D 
5   E 

après que je queue.popleft() le deque.

Répondre

0

L'énumération utilise l'index en cours de l'objet la collection. Par conséquent, si vous déposez un objet, il commencera toujours à partir de 1. Ce que vous pouvez faire est d'utiliser un décalage en fonction du nombre de fois que popleft() est appelé. Voici un échantillon courant,

import collections 
queue = collections.deque(['A','B','C','D','E']) 
offset = 1 

queue.popleft() 
offset += 1 

for count, item in enumerate(queue): 
    print ("{} {}". format(str(count+offset),item))