这段代码在考试中,它询问输出结果如何。了解这个python代码
不幸的是我弄错了,并把它全是1。
我对这个程序特别用if/else语句做了些什么感到困惑。
我是C程序员,所以如果可能的话,请将if/else语句翻译成C代码,以便我能理解正在发生的事情。谢谢!
编辑:为了澄清,我不知道的情况是什么意思“如果x在d”
def somefunction(L):
d = {}
for x in L:
if x in d:
d[x] = d[x] + 1
else:
d[x] = 1
return d
L = [6, 10, -2, 2, 6, 4, -2, 6]
print somefunction(L)
output: {10: 1, 2: 1, 4: 1, -2: 2, 6: 3}
它计算每个值出现在'L'中的次数。 '如果x in d'表示“如果字典中有一个元素d是哪个键是x,那么...” – iamnotmaynard
关于Python的一件好事,或者关于C的一件不好的事情是,一件简单的事情就像'd [x] = d [x] + 1'或'd'中的x需要数千行库代码才能准确地转化为C. – delnan