Python-从另一个列表中删除一组列表

2024-04-08

array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
array2 = [1, 2, 2, 2, 5, 6, 6, 6, 9]

temp = set(array2)

array1.remove(temp)

Traceback (most recent call last):
  File "Sudoku V2.py", line 6, in <module>
    array1.remove(temp)
ValueError: list.remove(x): x not in list

尝试这个:

array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
array2 = [1, 2, 2, 2, 5, 6, 6, 6, 9]
set(array1).difference(array2)
=> set([3, 4, 7, 8])

上面利用了不同之处() http://docs.python.org/2/library/stdtypes.html#set.difference集合的方法,它返回一个新集合,其中的元素不在作为参数接收的可迭代对象中。请注意,无需转换array2到一个集合来使其工作。

另请注意,通过使用集合,所有重复元素都将被删除,并且不一定会保留可迭代对象的原始顺序。如果这是一个问题,请尝试以下替代解决方案:

[x for x in array1 if x not in array2]
=> [3, 4, 7, 8]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-从另一个列表中删除一组列表 的相关文章

随机推荐