curriculum/challenges/english/blocks/daily-coding-challenges-python/691b559495c5cb5a37b9b481.md
Given an array of elements, return the element that appears most frequently.
most_frequent(["a", "b", "a", "c"]) should return "a".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(most_frequent(["a", "b", "a", "c"]), "a")`)
}})
most_frequent([2, 3, 5, 2, 6, 3, 2, 7, 2, 9]) should return 2.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(most_frequent([2, 3, 5, 2, 6, 3, 2, 7, 2, 9]), 2)`)
}})
most_frequent([True, False, "False", "True", False]) should return False.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(most_frequent([True, False, "False", "True", False]), False)`)
}})
most_frequent([40, 20, 70, 30, 10, 40, 10, 50, 40, 60]) should return 40.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(most_frequent([40, 20, 70, 30, 10, 40, 10, 50, 40, 60]), 40)`)
}})
def most_frequent(arr):
return arr
def most_frequent(arr):
freq = {}
max_count = 0
most_elem = None
for el in arr:
freq[el] = freq.get(el, 0) + 1
if freq[el] > max_count:
max_count = freq[el]
most_elem = el
return most_elem