切片时排除内部元素

时间:2015-10-26 15:21:09

标签: python list python-2.7

所以我有一个清单......

a = [1,2,3,4,5]

我可以通过说:

来生成没有5的b
b = a[:-1]

如何在没有3的情况下生成c?

c = a[:2:]?

4 个答案:

答案 0 :(得分:1)

添加两个列表

>>> a = [1,2,3,4,5]
>>> c = a[:3-1] + a[3:]   # Explicitly mentioned 3-1 to help understand better
>>> c
[1, 2, 4, 5]

以适当方式删除

>>> a = [1,2,3,4,5]
>>> a.pop(3-1)
3
>>> a
[1, 2, 4, 5]

答案 1 :(得分:1)

一种方法是将两个列表部分连接在一起,如下所示

a = [1,2,3,4,5]
c = a[:2] + a[3:]
c
[1,2,4,5]

答案 2 :(得分:1)

您需要切片两次并连接列表,例如 -

c = a[:2] + a[3:]  #2 being the index of element `3` in the array.

演示 -

>>> a = [1,2,3,4,5]
>>> a[:2] + a[3:]
[1, 2, 4, 5]

答案 3 :(得分:0)

你也可以弹出索引,即

>>> a = [1,2,3,4,5]
>>> a.pop(2)
>>> 3
>>> print(a)
[1,2,4,5]