Sve T
nin atanmış kümeler olduğunu varsayalım. Birleştirme operatörü |
kullanmadan, iki kümenin birleşimini nasıl bulabilirim? Bu, örneğin, kesişimi bulur:
S = {1, 2, 3, 4}
T = {3, 4, 5, 6}
S_intersect_T = { i for i in S if i in T }
Peki |
kullanmadan iki kümenin birleşimini tek satırda nasıl bulabilirim?
Kümeler için union yöntemini kullanabilirsiniz: set.union(other_set)
Yeni bir küme döndürdüğüne, yani kendisini değiştirmediğine dikkat edin.
Ayrıca s | t
ye eşdeğer olan s.union(t)
kullanamayacağınızı varsayarsak, şunu deneyebilirsiniz
>>> from itertools import chain
>>> set(chain(s,t))
set([1, 2, 3, 4, 5, 6])
Ya da, eğer anlamak istiyorsan,
>>> {i for j in (s,t) for i in j}
set([1, 2, 3, 4, 5, 6])
Katılmaktan kastınız sendika ise, bunu deneyin:
set(list(s) + list(t))
Biraz zorlama oldu ama bundan daha iyi bir şey düşünemiyorum.