Python:从多个列表中删除同一项目

时间:2018-07-10 23:50:01

标签: python-3.x

假设我有两个列表:

listOne = ['a','b','c']
listTwo = ['b','c','c']

从两个列表中删除特定元素的最有效方法是什么?

使用for循环即可轻松完成,即:

for li in (listOne, listTwo):
    li.remove('c')

有没有办法做这样的事情?

[listOne, listTwo].remove('c')

2 个答案:

答案 0 :(得分:1)

根据juanpa的评论,这是一种更加Python化的方法。

listOne = ['a','b','c']
listTwo = ['c','d','e']

for l in [listOne, listTwo]:
  try:
    l.remove('c')
  except ValueError:
    pass

答案 1 :(得分:0)

编辑:避免以下代码。一般来说,请避免对列表有副作用。

listOne = ['a','b','c']
listTwo = ['c','d','e']
[l.remove('c') for l in [listOne, listTwo] if 'c' in l]  # don't do it