簡體   English   中英

迭代地將元素添加到python中的列表

[英]Appending elements to a list in python iteratively

我有一個清單

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”中

當您想要extend列表時,使用append將添加使用a[:2]a[4:]創建的新列表。

>>> 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]]

您可以簡單地進行列表串聯。

>>> 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]]

a[:2]將為您提供索引最大為2的元素列表。因此e.append(a[:2])將追加以下列表[['a', 1], ['b', 2]]作為第一個元素。

您可以使用:

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

但是,如果這是最佳解決方案則值得商question。 最佳解決方案將取決於您的上下文。

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

[['a',1],['b',2],['e',5],['f',6]]

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM