In this program, we need to accept a tuple and then find the number of times an item is present in the tuple. This can be done in various ways, but in this article, we will see how this can be done using a simple approach and how inbuilt functions can be used to solve this problem.
Examples:
Tuple: (10, 8, 5, 2, 10, 15, 10, 8, 5, 8, 8, 2)
Input : 4 Output : 0 times Input : 10 Output : 3 times Input : 8 Output : 4 times
Method 1(Simple Approach):
We keep a counter that keeps on increasing if the required element is found in the tuple.
# Program to count the number of times an element # Present in the list def countX(tup, x):
count = 0
for ele in tup:
if (ele = = x):
count = count + 1
return count
# Driver Code tup = ( 10 , 8 , 5 , 2 , 10 , 15 , 10 , 8 , 5 , 8 , 8 , 2 )
enq = 4
enq1 = 10
enq2 = 8
print (countX(tup, enq))
print (countX(tup, enq1))
print (countX(tup, enq2))
|
0 3 4
Method 2(Using count()):
The idea is to use method count() to count number of occurrences.
# Program to count the number of times an element # Present in the list # Count function is used def Count(tup, en):
return tup.count(en)
# Driver Code tup = ( 10 , 8 , 5 , 2 , 10 , 15 , 10 , 8 , 5 , 8 , 8 , 2 )
enq = 4
enq1 = 10
enq2 = 8
print (Count(tup, enq), "times" )
print (Count(tup, enq1), "times" )
print (Count(tup, enq2), "times" )
|
0 times 3 times 4 times
Method 3: Using list comprehension
tuple1 = ( 10 , 8 , 5 , 2 , 10 , 15 , 10 , 8 , 5 , 8 , 8 , 2 )
x = [i for i in tuple1 if i = = 10 ]
print ( "the element 10 occurs" , len (x), "times" )
|
the element 10 occurs 3 times
Method #4: Using enumerate function
tuple1 = ( 10 , 8 , 5 , 2 , 10 , 15 , 10 , 8 , 5 , 8 , 8 , 2 )
x = [i for a,i in enumerate (tuple1) if i = = 10 ]
print ( "the element 10 occurs" , len (x), "times" )
|
the element 10 occurs 3 times
Method #5: Using lambda function
tuple1 = ( 10 , 8 , 5 , 2 , 10 , 15 , 10 , 8 , 5 , 8 , 8 , 2 )
x = list ( filter ( lambda i: (i = = 10 ),tuple1))
print ( "the element 10 occurs" , len (x), "times" )
|
the element 10 occurs 3 times
Method #6: Using counter function
from collections import Counter
tuple1 = ( "10" , "8" , "5" , "2" , "10" , "15" , "10" , "8" , "5" , "8" , "8" , "2" )
x = Counter(tuple1)
print ( "the element 10 occurs" ,x[ "10" ], "times" )
|
the element 10 occurs 3 times
Method#7: Using Countof function
tuple1 = ( "10" , "8" , "5" , "2" , "10" , "15" , "10" , "8" , "5" , "8" , "8" , "2" )
import operator as op
print (op.countOf(tuple1, "10" ))
|
3