我有一個簡單,總是連續有序列表如下:如何在Python中刪除列表的範圍(小節)?
all = [ 1, 2, 3, 4, 5, 6 ] # same as range(1, 7)
我也有current = 4
。最後,我想all
列表看起來像這樣
altered = [ 1, 2, 5, 6 ]
到底發生了什麼是它去掉了current
數量和的一個前3
。
current
也可以是1
和0
,所以我想確保它不會爲這兩個值拋出錯誤。
對於異常current = 0
,改變列表是這樣
altered = [ 1, 2, 3, 4, 5 ]
這意味着current = 0
簡單地刪除最後一個數字。
我覺得你可以用發生器編寫一些奇特的東西,但是我會寫它們。
在此先感謝!
獎勵積分在一行中做到這一點。如果current = 0
太麻煩了,那麼它也可能是current = -1
或current = 7
。
編輯:確保檢查current = 1
,這應該是
altered = [ 2, 3, 4, 5, 6 ]
當電流== 4是4從列表中刪除,因爲它具有值4或者是因爲它是在第四位置(從一個計數時)?同樣,是否刪除了3,因爲它是小於4的最小數字,還是因爲它位於刪除項目之前的索引? – thebjorn 2012-04-10 07:28:41
該列表總是一個'range()',因此無論您將其視爲位置還是值,都無關緊要。 – hobbes3 2012-04-10 07:30:38
不要將你的列表調用爲'all',因爲有一個內置的函數'all()',並且一旦你使用這個名字就刪除對它的訪問。 – jamylak 2012-04-10 07:35:04