删除另一个列表中列表中的第二个值

hbr*_*ell 1 python python-3.x

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

[['a'], ['b'], ['c', 'd'], ['e'], ['f', 'g']]
Run Code Online (Sandbox Code Playgroud)

我可以使用rsplit(),还是有更好的其他拆分功能?

L3v*_*han 6

如果你不关心就地做这件事:

>>> outer = [['a'], ['b'], ['c', 'd'], ['e'], ['f', 'g']]
>>> outer = [inner[:1] for inner in outer]
>>> outer
[['a'], ['b'], ['c'], ['e'], ['f']]
Run Code Online (Sandbox Code Playgroud)

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

如果您需要就地进行:

for inner in outer:
    if len(inner) > 1:
        del inner[1]
Run Code Online (Sandbox Code Playgroud)