2014-12-20 136 views
0

作爲標題表示我正試圖將兩個值分配給一個鍵。我知道在這個網站上有幾個答案,但我對Python非常陌生,我不太瞭解它們。因此,如果你能解釋爲什麼答案是答案,那將是非常好的。反正這裏是代碼我試圖執行將多個值分配給字典鍵 - Python

card = {'1 of hearts': '1', '2 of hearts': '2', 'ace of hearts':'1, 11'} 
print(card['ace of hearts']) 

正如你可以看到我試圖創建一個簡單的二十一點遊戲,所以我想這兩個1和11分配給紅桃A(不是1或11)。但是我上面寫的代碼給出了'1,11'。任何幫助將不勝感激

+0

你沒有得到你所要求的?你的鑰匙是字符串'心中的王牌',你的價值是另一個字符串'1,11',所以你看到的是你得到的。我會建議把價值作爲整數列表。 card = {'1'of hearts':[1],'2 of hearts':[2],'ace of hearts':[1,11]} –

+0

你有什麼樣的套牌,有一顆心'卡? – Barmar

+0

好的一點剛剛意識到:P –

回答

4

使用字典,你可以使一個數組的關鍵。

card = {'1 of hearts': '1', '2 of hearts': '2', 'ace of hearts':["1", "11"]} 

然後,您可以通過訪問第一個變量:

print(card['ace of hearts'][1]) 

如果你想存儲在陣列:

print(card['ace of hearts'][0]) 

然後,您可以通過訪問第二個變量鍵爲整數,您應該使用:

card = {'1 of hearts': 1, '2 of hearts': 2, 'ace of hearts':[1, 11]} 
+0

@dawg將卡片的值存儲爲int而不是字符串有一個好處 – Anentropic

1

使用一組或列表字面分配:

card = {'1 of hearts': [1], '2 of hearts': [2], 'ace of hearts':[1, 11]} 

你可能也想用一個整數VS字符串,因爲你可以使用int的補充。

0

當您打印card['ace of hearts']時,您會收到一個字符串。要打破它,並把它放在一個列表,你可以用逗號分開的元素:

>>> print(card['ace of hearts'].split(', ')) 
['1', '11'] 

或它的好,正如其他人所說,使用列表從一開始。