如果我有名單[0, 1, 2, 3, 4, 5]
我可以使用list[1:]
返回最後四個項目。有沒有辦法讓一個沒有使用切片的第n個項目的列表?
是否有類似的方式來做到這一點,將返回沒有第二個項目的列表?
I.e. list[??] == [0, 2, 3, 4 ,5]
(如果存在的Python 2.x和Python 3.x都有請詳細兩種不同的方法)
如果我有名單[0, 1, 2, 3, 4, 5]
我可以使用list[1:]
返回最後四個項目。有沒有辦法讓一個沒有使用切片的第n個項目的列表?
是否有類似的方式來做到這一點,將返回沒有第二個項目的列表?
I.e. list[??] == [0, 2, 3, 4 ,5]
(如果存在的Python 2.x和Python 3.x都有請詳細兩種不同的方法)
你可以試試這個:
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]
這有點長囉,[l [0],* l [2:]]更快 – BladorthinTheGrey
@BladorthinTheGrey是;然而,這是一般情況。 [l [0],* l [2:]]只有在n = 1時纔有效 – Ajax1234
您可以添加兩個列表
newLs = ls[:1] + ls[2:]
[0, 2, 3, 4, 5]
您也可以刪除元素
del ls[1]
是的,我想到了兩片,但我想知道是否有更短的路 – BladorthinTheGrey
'L [:N] + 1 [N + 1:]' –
@coldspeed是啊,我還以爲兩片,但我在想,如果有一個較短的方式 – BladorthinTheGrey
@BladorthinTheGrey檢查鏈接問題 – narn