से

सेट में Julia

1 अभ्यास

सेट के बारे में

एक Set चीज़ों का संग्रह है, जिसकी ये विशेषताएँ हैं:

  • इसमें कोई क्रम नहीं होता।
  • इसके एलिमेंट अद्वितीय होते हैं, इसलिए डुप्लिकेट जोड़ने की कोशिशों को चुपचाप अनदेखा कर दिया जाता है।
  • गणितीय समुच्चयों में होने वाली कई संक्रियाओं का समर्थन करता है।

इन्हें Set() कंस्ट्रक्टर से बनाइए और पैरामीटर के तौर पर कोई भी इटरेटर दीजिए।

julia> s1 = Set(1:4)
Set{Int64} with 4 elements:
  4
  2
  3
  1

नए एलिमेंट push!() से जोड़िए (ऐरे की तरह ही) और उन्हें delete!() से हटाइए।

julia> push!(s1, 5)
Set{Int64} with 5 elements:
  5
  4
  2
  3
  1

# Duplicates are ignored
julia> push!(s1, 3)
Set{Int64} with 5 elements:
  5
  4
  2
  3
  1

julia> delete!(s1, 5)
Set{Int64} with 4 elements:
  4
  2
  3
  1

julia> length(s1)  # length counts entries, despite the non-sequential type
4

समुच्चय की संक्रियाएँ

कई अन्य संग्रह प्रकारों की तरह, किसी एलिमेंट के समुच्चय में शामिल होने की जाँच in या ∈ ऑपरेटर से कीजिए (सिंबल के लिए \in लिखकर टैब दबाइए)।

julia> 3 ∈ s1
true

समुच्चयों के जोड़ों पर नीचे दी गई संक्रियाएँ समर्थित हैं (ऑपरेटर सिंबल के शॉर्टकट कोष्ठकों में दिए गए हैं)।

  • union(A, B) या A ∪ B (\cup): A या B, या दोनों में मौजूद सारे एलिमेंट।
  • intersect(A, B) या A ∩ B (\cap): A और B दोनों में मौजूद सारे एलिमेंट।
  • setdiff(A, B) (कोई सिंबल नहीं): A में मौजूद लेकिन B में नहीं।
  • symdiff(A, B) (कोई सिंबल नहीं): A या B में से किसी एक में मौजूद, लेकिन दोनों में नहीं।
  • issubset(A, B) या A ⊆ B (\subseteq) या B ⊇ A (\supseteq): अगर A के सारे एलिमेंट B में भी हैं तो true।
  • issetequal(A, B) (कोई सिंबल नहीं): अगर A और B में बिल्कुल वही एलिमेंट हैं तो true।
  • isdisjoint(A, B) (कोई सिंबल नहीं): अगर A और B में कोई भी एलिमेंट साझा नहीं है तो true (यानी इंटरसेक्ट खाली है)।
s1 = Set(1:4)
s2 = Set(3:6)

julia> s1 ∪ s2  # union
Set{Int64} with 6 elements:
  5
  4
  6
  2
  3
  1

julia> s1 ∩ s2  # intersect
Set{Int64} with 2 elements:
  4
  3
  
julia> setdiff(s1, s2)
Set{Int64} with 2 elements:
  2
  1

julia> symdiff(s1, s2)
Set{Int64} with 4 elements:
  5
  6
  2
  1
  
julia> s1 ⊇ s2  # issubset
false

इनमें से कई की ऐसी किस्में भी हैं जो समुच्चय को बदल देती हैं, और उनके फंक्शन नाम के आगे ! लगा दिया जाता है। फंक्शनों की पूरी सूची मैनुअल में देखिए।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

सेट सीखिए