<p>这里有一个替代方案:</p>
<pre class="lang-py prettyprint-override"><code>def get_cards():
suits = list('CDHS')
ranks = list('A23456789XJQK')
return {k: ' of '.join([ranks[k%13], suits[k//13]]) for k in range(52)}
print(get_cards())
# {0: 'A of C', 1: '2 of C', 2: '3 of C', 3: '4 of C', 4: '5 of C', 5: '6 of C', 6: '7 of C', 7: '8 of C', 8: '9 of C', 9: 'X of C', 10: 'J of C', 11: 'Q of C', 12: 'K of C', 13: 'A of D', 14: '2 of D', 15: '3 of D', 16: '4 of D', 17: '5 of D', 18: '6 of D', 19: '7 of D', 20: '8 of D', 21: '9 of D', 22: 'X of D', 23: 'J of D', 24: 'Q of D', 25: 'K of D', 26: 'A of H', 27: '2 of H', 28: '3 of H', 29: '4 of H', 30: '5 of H', 31: '6 of H', 32: '7 of H', 33: '8 of H', 34: '9 of H', 35: 'X of H', 36: 'J of H', 37: 'Q of H', 38: 'K of H', 39: 'A of S', 40: '2 of S', 41: '3 of S', 42: '4 of S', 43: '5 of S', 44: '6 of S', 45: '7 of S', 46: '8 of S', 47: '9 of S', 48: 'X of S', 49: 'J of S', 50: 'Q of S', 51: 'K of S'}
</code></pre>
<p>或者反过来说:</p>
<pre class="lang-py prettyprint-override"><code>def get_cards():
suits = list('CDHS')
ranks = list('A23456789XJQK')
return {13*s+r: ' of '.join([ranks[r], suits[s]]) for s in range(len(suits)) for r in range(len(ranks))}
print(get_cards())
# {0: 'A of C', 1: '2 of C', 2: '3 of C', 3: '4 of C', 4: '5 of C', 5: '6 of C', 6: '7 of C', 7: '8 of C', 8: '9 of C', 9: 'X of C', 10: 'J of C', 11: 'Q of C', 12: 'K of C', 13: 'A of D', 14: '2 of D', 15: '3 of D', 16: '4 of D', 17: '5 of D', 18: '6 of D', 19: '7 of D', 20: '8 of D', 21: '9 of D', 22: 'X of D', 23: 'J of D', 24: 'Q of D', 25: 'K of D', 26: 'A of H', 27: '2 of H', 28: '3 of H', 29: '4 of H', 30: '5 of H', 31: '6 of H', 32: '7 of H', 33: '8 of H', 34: '9 of H', 35: 'X of H', 36: 'J of H', 37: 'Q of H', 38: 'K of H', 39: 'A of S', 40: '2 of S', 41: '3 of S', 42: '4 of S', 43: '5 of S', 44: '6 of S', 45: '7 of S', 46: '8 of S', 47: '9 of S', 48: 'X of S', 49: 'J of S', 50: 'Q of S', 51: 'K of S'}
</code></pre>