擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>frontier = [
{ 'state': (2, 5, 4, 3, 0, 1), 'path': [ 'PULL' ] },
{ 'state': (2, 4, 5, 0, 3, 1), 'path': [ 'SWAP','PULL' ] },
{ 'state': (2, 5, 4, 0, 1, 3), 'path': [ 'SWAP' ] },
{ 'state': (2, 0, 5, 4, 3, 1), 'path': [ 'PUSH', 'PUSH' ] },
]
d = dict(PUSH=5, PULL=6, SWAP=8, FLIP=2)
out = [sum(d.get(i,0) for i in x['path']) for x in frontier]
print(out)
</code></pre>
<p>退货:</p>
<pre><code>[6, 14, 8, 10]
</code></pre>
<p><code>.get(key, default)</code>函数是您的朋友。它将从给定键的字典中获取一个值,如果找不到则返回默认值。我们对字典值<code>path</code>中的所有项求和。你知道吗</p>