我有一个列表A(总数)和另一个列表B列表(包含列表A的子集)。需要找到这两者之间的区别。
我应该计算A和B中每个列表之间的差异
A=[a,b,c,d,e,f,g,h,j,i,k]
B=[[a,b],[e,d,k,a],[c,i]]
i.e., A - B[0], A - B[1] like this...
output:
[c,d,e,f,g,h,j,i,k]
[b,c,f,g,h,j,i]
[a,b,d,e,f,g,h,j,k]
答案 0 :(得分:0)
尝试使用套装:
[list(set(A)-set(x)) for x in B]
e.g:
A = range(10)
B = [range(5), range(6,8), range(9,10)]
输出:
[[8, 9, 5, 6, 7], [0, 1, 2, 3, 4, 5, 8, 9], [0, 1, 2, 3, 4, 5, 6, 7, 8]]
答案 1 :(得分:0)
这样的东西?
a=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'i', 'k']
b=[['a', 'b'], ['e', 'd', 'k', 'a'], ['c', 'i']]
def c(a,b):
d=[]
for i in b:
for j in i:
e=[]
for k in a:
if k not in i:
e.append(k)
d.append(e)
for k in d:
print(k)
c(a,b)