我正在尝试编写代码来生成一副牌。这副牌是一个二维数组,其中包含每张牌。每张牌的数组包含其牌值以及花色,用 0 到 3 的值表示。然而,代码输出如下:
[[ 1. 1.]
...
[13. 1.]
[ 1. 1.]
...
[13. 1.]
[ 1. 2.]
...
[13. 2.]
[ 1. 3.]
...
[13. 3.]]
前 13 个索引是我的问题,因为我编写的代码我认为应该输出[1. 0.]
到[13. 0.]
我的代码设计为每种花色有 13 张牌,从 1 到 13(含)。每张牌的索引 0 代表牌值,从 A 到 K。索引 1 代表其花色(0=S,1=H,2=C,3=D)。
suits = 4
suitsize = np.empty(shape=(13,2))
suitsize[:,0] = np.arange(1,suitsize.shape[0]+1)
a = suitsize
print(suitsize)
for i in range(1,suits):
a[:,1] = i
suitsize = np.concatenate([suitsize,a])
print(suitsize)
无论我使用 np.empty 还是 np.zeros,前 13 个索引仍然将其索引 1 值(花色)替换为 1。这意味着我最终制作了一副有 0 张黑桃、26 张红桃、13 张梅花和 13 张方块的纸牌。
如果有人能解释一下这里发生了什么,或者有什么解决办法,请告诉我。谢谢!