Open In App

Python Multiset

Last Updated : 18 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Multiset package is similar to the Python set but it allows elements to occur multiple times. Implementation can be based on dictionary elements( It internally uses a dict for storage) to their multiplicity in the multisets.

Features of Python Multiset:

  • An unordered collection of element
  • Hashable just like in a set
  • It supports the same methods as Python set
  • It supports set operations like Union, intersection, and (symmetric)

Installation:

To install this module type the below command in the terminal.

pip install multiset

Example 1: Basic example of a multiset

Here we are going to create a new, empty Multiset object.

Python3




from multiset import *
 
# print empty multiset
print(Multiset())
 
# print multiset from iterable
print(Multiset('abcde'))
 
# print multiset from mapping
print(Multiset({'a': 4, 'b': 2, 'c': 3, 'd':1}))


 
 

Output:

 

{}
{a, b, c, d, e}
{a, a, a, a, b, b, c, c, c, d}

Time Complexity: O(n)
Auxiliary Space: O(1)

Example 2:  Combination with multiset and sets

 

Here we are going to give a combination of the set along with multisets. For this, we will use multiset addition(+) operation with set.

 

Python3




# create set
set1 = {'apple', 'ball', 'apple'}
print("Our set is: ", set1)
 
# combine multiset
mltst = Multiset('bal') + set1
print("New multiset: ",mltst)


 
 

Output:

 

Our set is:  {'ball', 'apple'}
New multiset:  {b, a, l, ball, apple}

Time Complexity: O(n)
Auxiliary Space: O(n)

Example 3: Changing values of multisets

 

Multisets are mutable so we can change the element using update() methods.

 

Python3




mltst = Multiset('aab')
 
# update multiset
mltst.update('a')
print("New added element: ", mltst)


 
 

Output:

 

New added element:  {a, a, a, b}

Time Complexity: O(n)
Auxiliary Space: O(1)

Example 4: Combine value into multiset using a combine

 

We can combine the element using combine() methods.

 

Python3




print(mltst)
mltst.combine("2")


 
 

Output:

 

{b, a, l, apple, ball}
{b, a, l, apple, ball, 2}

Time Complexity: O(n)
Auxiliary Space: O(1)

Example 5: Copy multisets

 

We can combine the multiset using copy() methods.

 

Python3




new_mltst = mltst.copy()
print("Copied multiset",new_mltst)
print("Original ",mltst)


 
 

Output:

 

Copied multiset {b, a, l, apple, ball}
Original  {b, a, l, apple, ball}

Time Complexity: O(n)
Auxiliary Space: O(n)

Python Multiset objects:

Object Return
combine(*others)  Return the multiset resulting from the addition of the sets.
copy()  Return a shallow copy of the multiset.
difference()  Return The resulting difference multiset.
distinct_elements() Return the multiplicity for element if it is in the multiset, else default
intersection() Return a new multiset with elements common to the multiset and all others
isdisjoint() Return True if the set has no elements in common with other.
issubset() Return True if this set is a subset of the other.
issuperset() Return True if this multiset is a superset of the other.
union_update() Update the multiset, adding elements from all others using the maximum multiplicity.
update(): Update the multiset
remove() Removes an element from the multiset.
pop() The multiplicity for element if it is in the multiset, else default.

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads