有没有办法让一个没有使用切片的第n个项目的列表?
如果我有名单[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