我想看看清单(B)中缺少什么(A)
如果我有以下字符串列表:
A = ['4-5', '3-6', '3-3', '9-0']
和B = ['4-4', '4-5', '3-3', '6-9', '5-5', '3-2', '6-6', '9-9', '9,0']
想要检查名单B中的A缺少了什么。
A= 4-5,3-6,3-3,9-0 B= 4-4,4-5e 211
,e 112
3-3e 213
,6-9,5-5,e 1143-6
e 215,3-2,6-6,9-9,e 116
9,0e 217
所以..。从上面的例子来看,我希望它能够输出['4-4', '6-9', '5-5', '3-2', '6-6', '9-9']
。
如果我把这两份清单都分类,那最好的办法是什么呢?
谢谢!
我不想做这样的事:
unique = []
for n in A:
if n not in B:
unique.append(B)
print(unique)
这个有用吗?它给了我两个字符串列表中的一个非常奇怪的输出。
发布于 2016-08-31 18:04:08
我不知道4-5
是什么意思?是字符串还是操作?
不管怎样,假设这是你想要的,你可以这样做:
A = [4-5,3-6,3-3, 9-0]
B = [4-4, 4-5, 3-3, 6-9, 5-5, 3-2, 6-6, 9-9, 9,0]
a = set(A)
b = set(B)
print b - a
发布于 2016-08-31 18:04:16
别费心分类了。使用sets代替,并计算差额:
A = ['4-5','3-6','3-3', '9-0']
B = ['4-4', '4-5', '3-3', '6-9', '5-5', '3-2', '6-6', '9-9', '9','0']
print(set(B) - set(A))
>> {'0', '6-9', '9-9', '5-5', '3-2', '6-6', '4-4', '9'}
您所需的输出是[4-4, 6-9, 5-5, 3-2, 6-6, 9-9]
。您要么遗漏了一些,要么打算将'9'
视为'9-0'
。
发布于 2016-08-31 18:05:47
你可以这样做:
>>> A = ['4-5','3-6','3-3','9-0']
>>> B=['4-4','4-5','3-3','6-9','5-5','3-2','6-6','9-9','9','0']
>>> set(B)-set(A)
set(['5-5', '4-4', '9-9', '3-2', '0', '6-9', '9', '6-6'])
>>>
https://stackoverflow.com/questions/39256150
复制相似问题