Python字典中的值可以有两个值吗?

时间:2011-01-29 23:55:49

标签: python dictionary

对于测试程序,我正在制作一个简单的NFL模型。我想将一个记录(胜负)分配给一个团队作为字典中的值?这可能吗?

例如:

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

如果乌鸦队有13胜3负,那么这两个值的字典会占用吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:19)

当然,只需将值设为列表或元组:

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

如果它变得更复杂,你可能想要制作一个比元组更复杂的结构 - 例如,如果你喜欢字典,你可以在字典中放一个字典,这样你就可以在字典中使用字典。

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

但最终你可能想升级到班级......

答案 1 :(得分:3)

字典中的值可以是元组,或者在这种情况下可能更好,列表:

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

答案 2 :(得分:1)

好吧,你可以使用元组(或列表):

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

或者您可能会喜欢并使用RecordRecord.wins制作record.losses课程,但这可能有些过分。

(正如另一个答案所指出的,使用列表意味着您可以对值进行算术运算,这可能很有用。)