Given a tuple and a list as input, write a Python program to count the occurrences of all items of the list in the tuple.

**Examples:**

Input :tuple = ('a', 'a', 'c', 'b', 'd') list = ['a', 'b']Output :3Input :tuple = (1, 2, 3, 1, 4, 6, 7, 1, 4) list = [1, 4, 7]Output :6

**Approach #1 : **Naive Approach

The first approach is the naive approach. Use a for loop and traverse through the given list and count the occurrence of each item of tuple in a list. Finally, return the count.

`# Python3 Program to count occurrence ` `# of all elements of list in a tuple` `from` `collections ` `import` `Counter` ` ` `def` `countOccurrence(tup, lst):` ` ` `count ` `=` `0` ` ` `for` `item ` `in` `tup:` ` ` `if` `item ` `in` `lst:` ` ` `count` `+` `=` `1` ` ` ` ` `return` `count ` ` ` `# Driver Code` `tup ` `=` `(` `'a'` `, ` `'a'` `, ` `'c'` `, ` `'b'` `, ` `'d'` `)` `lst ` `=` `[` `'a'` `, ` `'b'` `]` `print` `(countOccurrence(tup, lst))` |

**Output:**

3

**Approach #2 : **Using Counter

From Python Collections module, import counter to solve the given problem. A Counter is a container that keeps track of how many times equivalent values are added. Having saved the resultant in ‘counts’, we use a for loop and count how many times each item in list occurs in ‘counts’ and sum it to give the final output.

`# Python3 Program to count occurrence ` `# of all elements of list in a tuple` `from` `collections ` `import` `Counter` ` ` `def` `countOccurrence(tup, lst):` ` ` `counts ` `=` `Counter(tup)` ` ` `return` `sum` `(counts[i] ` `for` `i ` `in` `lst)` ` ` `# Driver Code` `tup ` `=` `(` `'a'` `, ` `'a'` `, ` `'c'` `, ` `'b'` `, ` `'d'` `)` `lst ` `=` `[` `'a'` `, ` `'b'` `]` `print` `(countOccurrence(tup, lst))` |

**Output:**

3

**Approach #3 : **Using Set

Another method of solving the given problem is using set data structure. Simply convert the given list into a set, which removes all duplicates. And now, for each item of list, count its occurrence in tuple and sum them.

`# Python3 Program to count occurrence ` `# of all elements of list in a tuple` ` ` `def` `countOccurrence(tup, lst):` ` ` `lst ` `=` `set` `(lst)` ` ` `return` `sum` `(` `1` `for` `x ` `in` `tup ` `if` `x ` `in` `lst)` ` ` `# Driver Code` `tup ` `=` `(` `'a'` `, ` `'a'` `, ` `'c'` `, ` `'b'` `, ` `'d'` `)` `lst ` `=` `[` `'a'` `, ` `'b'` `]` `print` `(countOccurrence(tup, lst))` |

**Output:**

3

**Approach #4 : **Using Python dictionary

Get each item of tuple and its frequency as key:value pair in Python dictionary, then using a for loop, for each item of list, count its occurrence in tuple and sum them.

`# Python3 Program to count occurrence ` `# of all elements of list in a tuple` ` ` `def` `countOccurrence(tup, lst):` ` ` `dct ` `=` `{}` ` ` `for` `i ` `in` `tup:` ` ` `if` `not` `dct.get(i):` ` ` `dct[i] ` `=` `0` ` ` `dct[i] ` `+` `=` `1` ` ` `return` `sum` `(dct.get(i, ` `0` `) ` `for` `i ` `in` `lst)` ` ` `# Driver Code` `tup ` `=` `(` `'a'` `, ` `'a'` `, ` `'c'` `, ` `'b'` `, ` `'d'` `)` `lst ` `=` `[` `'a'` `, ` `'b'` `]` `print` `(countOccurrence(tup, lst))` |

**Output:**

3

**Approach #5 : **Python `numpy.in1d()`

Python numpy gives us a direct method to find the solution for the given problem, and that is `numpy.in1d()`

. This method test whether each element of a 1-D array is also present in a second array. Since list is also a 1-D array, this method can be applied here.

`# Python3 Program to count occurrence ` `# of all elements of list in a tuple` `import` `numpy as np` ` ` `def` `countOccurrence(tup, lst):` ` ` `return` `np.in1d(tup, lst).` `sum` `()` ` ` `# Driver Code` `tup ` `=` `(` `'a'` `, ` `'a'` `, ` `'c'` `, ` `'b'` `, ` `'d'` `) ` `lst ` `=` `[` `'a'` `, ` `'b'` `]` `print` `(countOccurrence(tup, lst))` |

**Output:**

3

Attention geek! Strengthen your foundations with the **Python Programming Foundation** Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the **Python DS** Course.