python tricks

1. Python set操作

differencesymmetric_difference 的区别:

如果 ab 是集合类型,a-b是指所有在a但不在b中的元素。

1
2
3
4
5
6
>>> a = {1, 2, 3}
>>> b = {1, 4, 5}
>>> a - b
{2, 3}
>>> b - a
{4, 5}

a.symmetric_difference(b)a & b 的结果是放在一个集合中,是 a-bb-a的并集。

1
2
3
4
>>> a.symmetric_difference(b)
{2, 3, 4, 5}
>>> (a - b).union(b - a)
{2, 3, 4, 5}

判断列表之间的差异:

1
2
3
4
5
6
7
8
list1 = ['Scott', 'Eric', 'Kelly', 'Emma', 'Smith']
list2 = ['Scott', 'Eric', 'Kelly']

list3 = list(set(list1) ^ set(list2))
print(list3)

# output
['Emma', 'Smith']

Commentaires