回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有python 3的代码无法按预期工作:</p>
<pre><code>def addFunc(x,y):
print (x+y)
def subABC(x,y,z):
print (x-y-z)
def doublePower(base,exp):
print(2*base**exp)
def RootFunc(inputDict):
for k,v in inputDict.items():
if v[0]==1:
d[k] = addFunc(*v[1:])
elif v[0] ==2:
d[k] = subABC(*v[1:])
elif v[0]==3:
d[k] = doublePower(*v[1:])
d={"s1_7":[1,5,2],"d1_6":[2,12,3,3],"e1_3200":[3,40,2],"s2_13":[1,6,7],"d2_30":[2,42,2,10]}
RootFunc(d)
#test to make sure key var assignment works
print(d)
</code></pre>
<p>我得到:</p>
^{pr2}$
<p>我希望:</p>
<pre><code>{'d2_30': 30, 's2_13': 13, 's1_7': 7, 'e1_3200': 3200, 'd1_6': 6}
</code></pre>
<p>怎么了?在</p>
<p>半相关的:我知道字典是无序的,但是python为什么选择这个顺序呢?它是否通过随机数发生器运行密钥?在</p>