2017-08-06 26 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

相关问题