<p>我有两个输入:</p>
<pre><code># The key is the available dates and the value is the price
a = {"g": 109192, "e": 116374, "o": 183368, "s": 162719}
# The dates that the user wants to take, this is going to be input by the user separeted by a space
b = ("g", "n", "e", "k", "s")
</code></pre>
<p>程序必须告诉用户日期的总成本以及哪一个可用</p>
<p><strong>输出:</strong></p>
<pre class="lang-none prettyprint-override"><code>388285
g e s
</code></pre>
<p>到目前为止,我的代码是:</p>
<pre><code>import json
a=input("")
b=list(input().split(' '))
dic=json.dumps(a)
def citas(dic,b):
citas_disponibles=[]
suma=0
for dia in b:
if dia in a:
suma += a[dia]
citas_disponibles.append(dia)
return citas_disponibles
citas(dic,b)
</code></pre>
<h2>但是“suma”会产生一个“错误”</h2>
<p>使用带有<code>get</code>方法的列表理解:</p>
<pre><code>In [1]: a={"g": 109192, "e": 116374, "o": 183368, "s": 162719}
In [3]: b = sum(a.get(i, 0) for i in "gneks")
In [4]: b
Out[4]: 388285
</code></pre>