2011-01-29 356 views
6

對於一個測試程序,我正在製作一個簡單的NFL模型。我想爲一個團隊分配一個記錄(勝利和失敗)作爲字典中的一個值?那可能嗎?Python字典中的值是否可以有兩個值?

例如:

afcNorth = ["Baltimore Ravens", "Pittsburgh Steelers", "Cleveland Browns", "Cincinatti Bengals"] 

如果烏鴉了13勝3敗,可以在字典中佔這兩個值嗎?如果是這樣,怎麼樣?

+2

你已經發布的代碼是一個字符串列表,而不是一本字典。 – 2011-01-29 23:58:45

回答

16

肯定,只是使值列表或元組:

afc = {'Baltimore Ravens': (10,3), 'Pb Steelers': (3,4)} 

如果它變得更加複雜,您可能想要製作比元組更復雜的結構 - 例如,如果您喜歡字典,可以在字典中放置字典,以便在字典中添加字典。

afc = {'Baltimore Ravens': {'wins':10,'losses': 3}, 'Pb Steelers': {'wins': 3,'losses': 4}} 

但最終你可能想向上移動到類...

3

在字典中的值可以是元組或者,也許在這種情況下更好,列表:

d = {"Baltimore Ravens": [13, 3]} 
d["Baltimore Ravens"][0] += 1 
print d 
# {"Baltimore Ravens": [14, 3]} 
1

那麼,你可以使用一個元組(或列表):

records = {} 
records["Baltimore Ravens"] = (13, 3) 

或者你可能會喜歡,並Record類與Record.winsrecord.losses,但這可能是矯枉過正。

(作爲另一個答案指出,使用列表意味着,你可以在值,這可能是有用的做算術題。)

+0

您可以對任何值進行算術運算。擁有一個列表或元組可以讓您輕鬆**迭代**值。 (也許,用像sum()這樣的東西爲你做迭代的算術。) – 2011-01-30 00:11:54