【发布时间】:2019-03-18 14:40:21
【问题描述】:
我有 2 个列表
列表 A(称为 a):像这样的 2D 列表:[[1,'aaa'],[2,'bbb'],[3,'ccc'],[4,'ddd']]
列表 B(称为 b):像这样的一维列表:['aaa','abc','cba','acb']
我想根据列表 B 的内容从列表 A 中删除元素。 在示例中,预期结果是:
新建列表C(叫c): [[2,'bbb'],[3,'ccc'],[4,'ddd']] //既然没有元素'bbb', 'ccc'或列表中的“ddd”B
我目前正在使用以下代码,我发现它非常慢:
c = []
for elem in a:
if elem[1] not in b:
c.append(elem)
有没有更好的方法来做这个删除?创建一个新列表并添加元素或从原始列表中删除元素更好吗?
感谢您的帮助!
【问题讨论】:
-
列表
B中也没有'ddd'。 -
您可以通过将列表 B 设为字典来加快速度
-
@RocketHazmat 你是对的!我已经改正错误了,谢谢