Skip to main content
 首页 » 编程设计

python之如何删除列表列表中的最后一个元素

2025年05月04日16lidabo

我有以下列表:

l = [["string string...string, 'tag'"],["string....string, 'tag'"],...,["string...string, 'tag'"]] 

如何从上面的列表 l 中删除 'tag'?。我尝试了以下方法:

splited = [l.pop() for x in l] 

但我只删除了最后一个子列表。知道如何解决这个问题吗?

我想获得:

splitted = l = [["string string...string"],["string....string"],...,["string...string"]] 

这可能吗?

请您参考如下方法:

使用切片:

splitted = [x[:-1] for x in l] 

如果你有一个大列表并且内存消耗很重要,只需迭代你的列表并从子列表中删除最后一个元素:

for x in l: 
    del x[-1] 

更新(如果子列表真的是一个字符串元素的列表?):

您可以使用字符串split函数以逗号分割:

l = [["string string...string, 'tag'"], 
     ["string....string, 'tag'"], 
     ["string...string, 'tag'"]] 
splitted = [[x[0].split(',')[0]] for x in l] 

演示:

>>> l = [["string string...string, 'tag'"],["string....string, 'tag'"],["string...string, 'tag'"]] 
>>> [[x[0].split(',')[0]] for x in l] 
[['string string...string'], ['string....string'], ['string...string']]