2017-08-06 39 views
-1

如果我有名單[0, 1, 2, 3, 4, 5]我可以使用list[1:]返回最後四個項目。有沒有辦法讓一個沒有使用切片的第n個項目的列表?

是否有類似的方式來做到這一點,將返回沒有第二個項目的列表?
I.e. list[??] == [0, 2, 3, 4 ,5]

(如果存在的Python 2.x和Python 3.x都有請詳細兩種不同的方法)

+0

'L [:N] + 1 [N + 1:]' –

+0

@coldspeed是啊,我還以爲兩片,但我在想,如果有一個較短的方式 – BladorthinTheGrey

+0

@BladorthinTheGrey檢查鏈接問題 – narn

回答

0

你可以試試這個:

n = 1 

l = [0, 1, 2, 3, 4, 5] 

new_l = [a for i, a in enumerate(l) if i != n] 
print(new_l) 

輸出:

[0, 2, 3, 4, 5] 
+0

這有點長囉,[l [0],* l [2:]]更快 – BladorthinTheGrey

+0

@BladorthinTheGrey是;然而,這是一般情況。 [l [0],* l [2:]]只有在n = 1時纔有效 – Ajax1234

1

您可以添加兩個列表

newLs = ls[:1] + ls[2:] 

[0, 2, 3, 4, 5] 

您也可以刪除元素

del ls[1] 
+0

是的,我想到了兩片,但我想知道是否有更短的路 – BladorthinTheGrey

相關問題