我有以下列表:
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']]
