For loop 函数def中的SyntaxError

For loop 函数def中的SyntaxError,for-loop,local-variables,iterable,colon,For Loop,Local Variables,Iterable,Colon,此函数用于计算数字数组的模式。语法错误发生在def函数的second for循环中,我无法理解此语法错误的根本问题,请帮助我解决 def mode(arr): numbers = {} for num in arr: numbers[num] = numbers.get(num, 0) + 1 max_occ = max(list(numbers.values()) for key in number

此函数用于计算数字数组的模式。语法错误发生在def函数的second for循环中,我无法理解此语法错误的根本问题,请帮助我解决

def mode(arr):
    
    numbers = {}
    
    for num in arr:
        numbers[num] = numbers.get(num, 0) + 1
        
    max_occ = max(list(numbers.values())
    
    for key in numbers:
        mode_list = []
        if numbers[key] == max_occ:
            mode_list.append(key)
    
    mode = min(mode_list)

    return mode

错误不在第二个循环中,错误在第四行,您错过了一个括号

max_occ = max(list(numbers.values())**)**
对于数字数组的计算模式,您也可以尝试此模式

from collections import Counter 

num = [1, 2, 3, 4,5, 4] 
n = len(num) 
  
data = Counter(num) 
find_mode = dict(data) 
mode = [k for k, v in find_mode.items() if v == max(list(data.values()))] 
  
if len(mode) == n: 
    find_mode = "No mode found"
else: 
    find_mode = "Mode is: " + ', '.join(map(str, mode)) 
      
print(find_mode)