从python中的函数返回列表
任务:使用返回数字出现次数的字典写入函数frekv 这是我的代码:从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} 这不
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中的Nomap()
与C/C++中的map()不同。在Python中,它被称为字典。