Python字符串列表:如何从两个字符串列表的比较中检索唯一值?

时间:2013-02-07 10:33:41

标签: python python-2.7

我有两个长度不等的字符串列表,没有排序,我想检索较长列表唯一的值。我使用的真实列表包含数千个值。列表A中的值始终位于listB中。所有值仅在给定列表中找到一次。

示例:

listA = ['b0001','b0003','b0007','b0004'] listB = ['b0001','b0005','b0007','b0017','b0004','b0003','b0002','b0432']

预期结果:

listC ='b0005','b0017','b0002','b0432']

我曾尝试使用set函数和交集或枚举函数,但最终只会出错...

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

更合适的方法是使用套装。

setA = set(listA)
setB = set(listB)
listC = list(setB - setA)

这里的减号表示集合B和A之间的差异。

最好的问候

答案 1 :(得分:0)

使用列表理解:

>>> listC = [item for item in listB if item not in listA]
>>> listC
['b0005', 'b0017', 'b0002', 'b0432']