我正在编写一些代码来处理我正在编写的程序的两个部分时遇到了一些麻烦。基本上,我有一个csv文件,其中包含游戏的玩家名称,每个名称都在文件第一列的不同行中。我想将这些播放器名称读入Python中的全局字典,以便字典看起来像:
playerDict = {P1:0, P2:0, P3:0, P4:0, P5:0, P6:0}
其次,我的程序通过其他代码将玩家按照他们在游戏中的位置顺序列入列表:
playerPlacements = [P2, P3, P1]
基本上我想要做的是在“#pland”中找到的字典中为每个玩家添加值5。列表使字典看起来像:
playerDict = {P1:5, P2:5, P3:5, P4:0, P5:0, P6:0}
我已经四处搜寻,试图弄清楚如何做到这一点,我仍然无法解决这个问题,所以任何帮助都非常感谢!
答案 0 :(得分:1)
设置
playerDict = {'P1' : 0, 'P2' : 0, 'P3' : 0, 'P4' : 0, 'P5' : 0, 'P6' : 0}
playerPlacements = ['P2', 'P3', 'P1']
使用collections.Counter
数据结构可以非常轻松地执行此操作:
from collections import Counter
c = Counter(playerDict)
c.update(Counter(playerPlacements * 5))
print(c)
Counter({'P1': 5, 'P2': 5, 'P3': 5, 'P4': 0, 'P5': 0, 'P6': 0})