Okay so I am fairly new to python and numpy, what I want to do is take a single array of randomly generated integers and check to see if there are multiple occurrences of each number for example if b=numpy.array([3,2,33,6,6]) it would then tell me that 6 occurs twice. or if a=numpy.array([22,21,888]) that each integer is different. 
            Asked
            
        
        
            Active
            
        
            Viewed 180 times
        
    1
            
            
        
        Topias 
        
- 11
 - 2
 
1 Answers
0
            
            
        You can use counter to check how may times a given number occurs in a list or any iterable object:
In [2]: from collections import Counter
In [8]: b=numpy.array([3,2,33,6,6])
In [9]: Counter(b)
Out[9]: c = Counter({6: 2, 33: 1, 2: 1, 3: 1})
In [14]: c.most_common(1)
Out[14]: [(6, 2)] # this tells you what is most common element 
                  # if instead of 2 you have 1, you know all elements 
                  # are different.
Similarly you can do for your second example:
In [15]: a=numpy.array([22,21,888])
In [16]: Counter(a)
Out[16]: Counter({888: 1, 21: 1, 22: 1})
Other way is to use set, and compare resulting set length with length of your array.
In [20]: len(set(b)) == len(b)
Out[20]: False
In [21]: len(set(a)) == len(a)
Out[21]: True
Hope this helps.
        Marcin
        
- 215,873
 - 14
 - 235
 - 294