我正在使用 set.difference 比较两个列表 我希望不在列表 a 中但在列表 b 中的每个值都打印在自己的行上,但是,集合不允许我。代码和输出如下。
import pprint
a = [1,2,3,5,6,8,9,10]
b = [13,452,3,4,5,6,7,8,9,10,11]
c = []
difference = set(b).difference(a)
c.append(difference)
#print c
for item in c:
pprint.pprint (str(item))
我得到的输出是这样的:
'set([4, 7, 11, 13, 452])'
>>>
我想要的输出是这样的:
>>>
4
7
11
13
452
>>>
请您参考如下方法:
我相信您犯了一个错误,您将difference(一个列表)附加到c(也是一个列表)。因此,当您循环遍历包含列表的 c 时,您将打印出整个 列表。而不是该列表的个人值。
在我下面的示例中,您直接将差异分配给 c,因此 c 不包含包含您的值的列表,但 c 是包含您的值的列表。
import pprint
a = [1,2,3,5,6,8,9,10]
b = [13,452,3,4,5,6,7,8,9,10,11]
c = set(b).difference(a)
for item in c:
pprint.pprint (str(item))
