Python - 如何删除列表列表中的最后一个元素?

Gui*_*ume 1 python list

我有一个这样的列表列表:

listadr = [[a, b], [1, 2]]
Run Code Online (Sandbox Code Playgroud)

如何删除最后一个列表的最后一个条目才能得到这个结果?

result = [[a, b], [1]]
Run Code Online (Sandbox Code Playgroud)

我试过了

for adr in listadr:
   for adr[1] in adr:
      del adr[-1]
Run Code Online (Sandbox Code Playgroud)

但是这段代码也删除'b'......

the*_*eye 8

只删除最后一个元素的最后一个元素,就像这样

listadr = [['a', 'b'], [1, 2]]
del listadr[-1][-1]
print(listadr)
# [['a', 'b'], [1]]
Run Code Online (Sandbox Code Playgroud)

listadr[-1]将获得的最后一个元素listadr,并listadr[-1][-1]会得到的最后一个元素的最后一个元素listadr,并杀死它del.

或者,你可以做到

listadr[-1] = listadr[-1][:-1]
Run Code Online (Sandbox Code Playgroud)

这将替换排除其最后一个元素listadr的最后一个元素的listadr最后一个元素.listadr[-1][:-1]意味着获取所有元素,直到最后一个元素的最后一个元素listadr.


Ash*_*ary 5

这里不需要循环,只需使用[-1][-1]以下内容索引列表:

>>> listadr = [['a', 'b'], [1, 2]]
>>> del listadr[-1][-1]
>>> listadr
[['a', 'b'], [1]]
Run Code Online (Sandbox Code Playgroud)

如果您还想要该项目,请使用list.pop()最后一个子列表:

>>> listadr = [['a', 'b'], [1, 2]]
>>> listadr[-1].pop()
2
>>> listadr
[['a', 'b'], [1]]
Run Code Online (Sandbox Code Playgroud)