İki kümeyi "|&quot kullanmadan tek satırda nasıl birleştirebilirim?

Sve Tnin 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.

Yorumlar (8)

Ayrıca s | tye 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])
Yorumlar (0)

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.

Yorumlar (3)