2016-08-24 3 views

Antwort

5

können Sie enumerate() verwenden:

>>> x = ['a','b','c','d','e','f','g','h','i','j'] 
>>> [i for j, i in enumerate(x) if (j+1)%3] 
['a', 'b', 'd', 'e', 'g', 'h', 'j'] 

Alternativ, können Sie die Kopie der Liste erstellen und die Werte im Intervall löschen. Zum Beispiel:

>>> y = list(x) # where x is the list mentioned in above example 
>>> del y[2::3] # y[2::3] = ['c', 'f', 'i'] 
>>> y 
['a', 'b', 'd', 'e', 'g', 'h', 'j'] 
+0

Danke. Ich weiß, dass diese Dinge ziemlich einfach sind, aber ich versuche Python nach etwa 2 Jahren wieder. Seine grundlegende Liste und Indexierung, ich muss sagen, dass ich zu rostig bin. – EL323

+0

Das ist der Grund, warum die 'StackOverflow'-Community Menschen bedient. Ich bin froh, dass ich dir helfen konnte. :) –

+1

@MoinuddinQuadri Gute Technik, um Elemente in gleichen Abständen zu löschen. Ich weiß es zu schätzen –

1

Es scheint, als ob Sie das dritte Element in der Liste, die eigentlich bei Index 2 ist, wollen. Dies ist, was die +1 ist für.

Verwandte Themen