迭代地将元素追加到python中的列表中

时间:2015-02-21 16:41:08

标签: python

我有一个清单

a=[['a',1],['b',2],['c',3],['d',4],['e',5],['f',6]]

并希望创建新列表c=[['a',1],['b',2],['e',5],['f',6]]

我试过

    >>> e=[]
    >>> e.append(a[:2])
    >>> e.append(a[4:])
    >>> e
[[['a', 1], ['b', 2]], [['e', 5], ['f', 6]]]

但它给了我一份清单

请注意,这只是一个测试案例。我将在新列表中添加元素' e'迭代

4 个答案:

答案 0 :(得分:1)

使用append添加使用a[:2]a[4:]创建的新列表时,您要执行的是extend列表。

>>> a=[['a',1],['b',2],['c',3],['d',4],['e',5],['f',6]]
>>> e = []
>>> e.extend(a[:2])
>>> e.extend(a[4:])
>>> e
[['a', 1], ['b', 2], ['e', 5], ['f', 6]]

答案 1 :(得分:1)

您可以简单地进行列表连接。

>>> a=[['a',1],['b',2],['c',3],['d',4],['e',5],['f',6]]
>>> e = a[:2] + a[4:]
>>> e
[['a', 1], ['b', 2], ['e', 5], ['f', 6]]

答案 2 :(得分:0)

a[:2]会为您提供索引最多为2的元素列表。因此e.append(a[:2])会将以下列表[['a', 1], ['b', 2]]作为第一个元素添加。

您可以使用:

e.append(a[0])
e.append(a[1])
[...]

但如果这是最好的解决方案是值得怀疑的。最佳解决方案取决于您的背景。

答案 3 :(得分:0)

a=[['a',1],['b',2],['c',3],['d',4],['e',5],['f',6]]
e = list(a)
e.remove(e[3])
e.remove(e[2])
print e

[['一个',1],[' B',2],[' E',5],[' F&# 39; 1,6]]

您可以删除所需的任何子序列。