擅长:python、mysql、java
<p>当你把一张单张卡片递给它时,你是在退回它吗?另外,如果<code>cardNames</code>是一个名称列表,则不应使用<code>Card</code>对象覆盖它。你应该能做这样的事吗?在</p>
<pre><code>new_cards = [Card(**card) for card in card_list] # make new card objects
cards = {card.name: card for card in new_cards} # dict to ref cards by name
print cards['Knight'].name
</code></pre>
<p>或者干脆</p>
^{pr2}$
<p>如果您想将该卡限制为<code>namesOfCards</code>中的卡。你可以的</p>
<pre><code>cards = {card['name']: Card(**card) for card in card_list if card['name'] in names_of_cards}
</code></pre>
<p><em>(<strong>注意</strong>:这一切都假设您没有两张同名的卡)</em></p>
<p>也可以像问题所问的那样将这些卡片放入您的本地名称空间中,但我强烈反对这样做。但如果你真的想。。。在</p>
<pre><code>locals().update(cards)
print Knight.name
</code></pre>