从python中的函数返回列表

从python中的函数返回列表,python,list,dictionary,Python,List,Dictionary,任务:使用返回数字出现次数的字典写入函数frekv 这是我的代码: def frekv(n): b={} for i in n: if i in b: b[i] +=1 else: b[i]=1 return b x = map(frekv,[5, 2, 4, 4, 3, 1, 3, 8]) print (list(x)) 结果:{5:1,2:1,4:2,3:2,8:1,1:1} 这不

任务:使用返回数字出现次数的字典写入函数frekv

这是我的代码:

def frekv(n):
    b={}
    for i in n:
        if i in b:
             b[i] +=1
        else:
            b[i]=1
    return b

x = map(frekv,[5, 2, 4, 4, 3, 1, 3, 8]) 
print (list(x))
结果:{5:1,2:1,4:2,3:2,8:1,1:1}


这不是一个正确的返回方式,我有没有办法返回整个列表。

可能你的意思是这样的:

def frekv(n):
    b={}
    for i in n:
        if i in b:
             b[i] +=1
        else:
            b[i]=1
    return b

x = frekv([5, 2, 4, 4, 3, 1, 3, 8]) 
print(x)
输出:

{5: 1, 2: 1, 4: 2, 3: 2, 1: 1, 8: 1}

返回b
需要缩进
b
是一个字典,而不是一个列表。错误n是函数中的一个字典为什么要调用
map()
?该函数期望参数是一个列表,但您正在使用列表中的每个元素分别调用它。我是否应该使b=[]类似于这样来存储数量和发生次数您试图得到的结果是什么?他在一条评论中写道“我需要使用映射”使用返回数字出现次数的字典写入函数frekv,我不必像这样使用x=map(frekv[5,2,4,4,3,1,3,8])?是的,这是我第一次用python学习C语言。我觉得我必须用map()做点好事。感谢you@MomoPython中的No
map()
与C/C++中的map()不同。在Python中,它被称为字典。