這段代碼在考試中,它詢問輸出結果如何。瞭解這個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