即使他们不具备属性速度,我怎么能加快这些角色的速度呢?这是一个例子,还有很多其他属性。随机挑选字符并将其组合在一起:
character_1 = {'Money': .3, 'Strength': .25, 'Speed': .05}
character_2 = {'Money': .3, 'Age': 25, 'Speed': .7}
character_3 = {'Money': .3, 'Strength': .25, 'Power': 5}
我怎样才能找出所有这些角色的组合速度,金钱,年龄等? (如果没有为其他人定义年龄,正确答案应该总共25年) 谢谢!!
答案 0 :(得分:0)
看看defaultdict 。您可以将字符实现为浮动默认值,这样就可以为尚未设置的任何项目提供0.0
:
from collections import defaultdict
character = defaultdict(float)
所以现在任何第一项检索都会将该值初始化为0,如果之前没有写过:
In [7]: character["Money"]
Out[7]: 0.0
In [8]: character["Speed"]
Out[8]: 0.0
但是,这种方法对某些应用程序有其缺点。就像当dict中的所有值都不是数字类型或具有不同的初始值时一样。在这种情况下,class
可能是你唯一的选择,正如@Anton vBR指出的那样。
答案 1 :(得分:0)
您可以遍历list
的{{1}}并将dicts
合并到结果values
中,如下所示:
dict