# Python | Count occurrence of all elements of list in a tuple

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)) ` |

*chevron_right*

*filter_none*

**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)) ` |

*chevron_right*

*filter_none*

**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)) ` |

*chevron_right*

*filter_none*

**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)) ` |

*chevron_right*

*filter_none*

**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)) ` |

*chevron_right*

*filter_none*

**Output:**

3

## Recommended Posts:

- Python | Count the elements in a list until an element is a Tuple
- Python | Join tuple elements in a list
- Python program to create a list of tuples from given list having number and its cube in each tuple
- Python | Convert a list into a tuple
- Python | Convert a list into tuple of lists
- Python | Modifying tuple contents with list
- Python | Count occurrences of an element in a Tuple
- Python | Ways to iterate tuple list of lists
- Python | Remove tuple from list of tuples if not containing any character
- Python | Group by matching second tuple value in list of tuples
- Python | Last occurrence of some element in a list
- Python | Maximum sum of elements of list in a list of lists
- Unpacking a Tuple in Python
- Python | tuple() Function
- Python | Reversing a Tuple

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.