Python 如何从一个列表中删除不包含在另一个列表中的元素?
我有两份清单:Python 如何从一个列表中删除不包含在另一个列表中的元素?,python,python-2.7,Python,Python 2.7,我有两份清单: arr1 = [[1,2,3], [2,5,1,1], [3,1,1]] arr2 = [[2,3,6,1], [8,1,3], [5,5,6]] 我需要检查arr2中哪些元素不包含在arr1中,并从arr2中删除这些元素 因此,结果必须是: arr2 = [[2,3,1], [1,3], [5,5]] 6和8不包含在arr1中,因此它在arr2中被删除 怎么做 arr1 = [
arr1 = [[1,2,3],
[2,5,1,1],
[3,1,1]]
arr2 = [[2,3,6,1],
[8,1,3],
[5,5,6]]
我需要检查arr2中哪些元素不包含在arr1中,并从arr2中删除这些元素
因此,结果必须是:
arr2 = [[2,3,1],
[1,3],
[5,5]]
6和8不包含在arr1中,因此它在arr2中被删除
怎么做
arr1 = [[1, 2, 3],
[2, 5, 1, 1],
[3, 1, 1]]
arr2 = [[2, 3, 6, 1],
[8, 1, 3],
[7, 5, 6]]
set1 = set(sum(arr1, []))
print('Elements found in arr1:')
print(set1)
arr3 = [[x for x in sub if x in set1]
for sub in arr2]
print('Sublists of arr3:')
for sub in arr3:
print(sub)
输出:
Elements found in arr1:
set([1, 2, 3, 5])
Sublists of arr3:
[2, 3, 1]
[1, 3]
[5]
尝试搜索列表交叉点-例如,甚至7不在arr1中,它如何在arr2中出现?敬请发表您的帖子,并添加一个。看见