遍历列表时,请勿修改列表。这样做会产生不良的副作用,例如循环跳过项目。
通常,在Python中,应避免循环一次在列表中添加和删除元素的循环。通常,这些循环可以用更多惯用的列表理解代替。
[sa for sa in a if not any(sb in sa for sb in b)]
值得一提的是,按书面方式修复循环的一种方法是遍历列表的 副本 ,以使循环不受原始更改的影响。
for i in a[:]: for x in b: if x in i: a.remove(i)

遍历列表时,请勿修改列表。这样做会产生不良的副作用,例如循环跳过项目。
通常,在Python中,应避免循环一次在列表中添加和删除元素的循环。通常,这些循环可以用更多惯用的列表理解代替。
[sa for sa in a if not any(sb in sa for sb in b)]
值得一提的是,按书面方式修复循环的一种方法是遍历列表的 副本 ,以使循环不受原始更改的影响。
for i in a[:]: for x in b: if x in i: a.remove(i)