在 python 中设置操作
Set operations in python
我正在寻找一个集合操作来完成以下两种情况。有没有办法做到这一点 python?
案例 1:
a = set([1,2])
和 b = set([1,2,3])
我想要一个结果 [1,2]
,这是一个简单的交集。现在 set(a)
可能为空,并且对空集与任何其他集执行交集将导致空集。
案例二:
a = set([])
和 b = set([1,2,3]) => set([1,2,3])
即设置 b
如何用一套操作实现case 1和case 2
如果你想要的是"if a
is non-empty, give me the intersection; otherwise just give me b
",那么你想要的是:
result = (a&b) if a else b
"I don't want to use if
conditional to check its value" 作为要求没有多大意义。这就是 if
的用途:根据某些条件改变行为。
使用and
和or
,这将短路产生所需的结果:
>>> a = {1,2}
>>> b = {1,2,3}
>>> a and a&b or b
{1, 2}
>>> a = {}
>>> b = {1,2,3}
>>> a and a&b or b
{1, 2, 3}
我正在寻找一个集合操作来完成以下两种情况。有没有办法做到这一点 python?
案例 1:
a = set([1,2])
和 b = set([1,2,3])
我想要一个结果 [1,2]
,这是一个简单的交集。现在 set(a)
可能为空,并且对空集与任何其他集执行交集将导致空集。
案例二:
a = set([])
和 b = set([1,2,3]) => set([1,2,3])
即设置 b
如何用一套操作实现case 1和case 2
如果你想要的是"if a
is non-empty, give me the intersection; otherwise just give me b
",那么你想要的是:
result = (a&b) if a else b
"I don't want to use if
conditional to check its value" 作为要求没有多大意义。这就是 if
的用途:根据某些条件改变行为。
使用and
和or
,这将短路产生所需的结果:
>>> a = {1,2}
>>> b = {1,2,3}
>>> a and a&b or b
{1, 2}
>>> a = {}
>>> b = {1,2,3}
>>> a and a&b or b
{1, 2, 3}