-2
我想從列表中刪除每個第三個項目。 例如:從列表中刪除每個第三個項目(在列表中定期刪除項目)
list1 = list(['a','b','c','d','e','f','g','h','i','j'])
去除其中多個三個指標後的名單將是:
['a','b','d','e','g','h','j']
我怎樣才能做到這一點?
我想從列表中刪除每個第三個項目。 例如:從列表中刪除每個第三個項目(在列表中定期刪除項目)
list1 = list(['a','b','c','d','e','f','g','h','i','j'])
去除其中多個三個指標後的名單將是:
['a','b','d','e','g','h','j']
我怎樣才能做到這一點?
您可以使用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']
[v for i, v in enumerate(list1) if (i + 1) % 3 != 0]
看起來好像你想要列表中的第三個項目,實際上是在索引2,不見了。這是+1
的用途。
謝謝。我知道這些東西很簡單,但是現在我想在2年後再次嘗試python。它的基本列表理解和索引,我不得不說我太生疏了。 – EL323
這就是StackOverflow社區爲人們服務的原因。我很高興我能幫助你。 :) –
@MoinuddinQuadri良好的技術,以等間隔刪除項目。感謝 –