2016-08-24 53 views

回答

5

您可以使用enumerate()

>>> 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'] 

或者,您可以創建列表的副本,並在間隔刪除值。例如:

>>> 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

謝謝。我知道這些東西很簡單,但是現在我想在2年後再次嘗試python。它的基本列表理解和索引,我不得不說我太生疏了。 – EL323

+0

這就是StackOverflow社區爲人們服務的原因。我很高興我能幫助你。 :) –

+1

@MoinuddinQuadri良好的技術,以等間隔刪除項目。感謝 –

1
[v for i, v in enumerate(list1) if (i + 1) % 3 != 0] 

看起來好像你想要列表中的第三個項目,實際上是在索引2,不見了。這是+1的用途。