首页 > 解决方案 > 删除另一个列表中的列表中的第二个值

问题描述

我有一个包含许多其他内部列表的列表,其中一些内部列表包含两个值。我想删除内部列表中的所有第二个值。

[['a'], ['b'], ['c', 'd'], ['e'], ['f', 'g']]

我可以为此使用 rsplit() 还是有其他更好用的拆分函数?

标签: pythonpython-3.x

解决方案


如果您不关心就地执行此操作:

>>> outer = [['a'], ['b'], ['c', 'd'], ['e'], ['f', 'g']]
>>> outer = [inner[:1] for inner in outer]
>>> outer
[['a'], ['b'], ['c'], ['e'], ['f']]

我使用列表推导创建了一个新列表,其中包含原始内部列表的一个元素的切片。

如果您需要就地执行此操作:

for inner in outer:
    if len(inner) > 1:
        del inner[1]

推荐阅读