ディクショナリの和集合と交差集合

結果から確かに求められてるけど
和集合ってなんで求められるのか分からないな。

a = dict.fromkeys(range(1000))
b = dict.fromkeys(range(500,1500))

# 和集合 1-1500
union = dict(a, **b)

# 交差集合 500-1000
inter = dict.fromkeys([x for x in a if x in b])

setを使うと分かりやすい
3.0ではビルドイン関数にsetがあるのでこっちの方が良い。

>>> a = set(range(1000))
>>> b = set(range(500,1000))
>>> union = a | b
>>> inter = a & b
>>> union

SQLでしかこんな集合求めないから出来ると便利かもしれない。
DBでしか処理できないと悲しいしな。