python - 创建一个具有未知键的字典并向其附加一个列表值?

标签 python list dictionary

我希望能够循环遍历游戏中的所有对象并检查它们的 self.owner 统计数据。

为此,我这样做:

for ship in game_map._all_ships():
     ....

我想制作一个字典,其中键为玩家,船的值列表为:

dictionary { 'Player 0' :[ship 1, ship 2], 'Player 1': [ship 1] ... etc}

我可以使用

检索他们的播放器
ship.owner

但我不知道如何用列表初始化字典,而不知道有多少玩家或他们有多少艘船,而不先运行循环。

最佳答案

最平滑的方法使用 collections.defaultdict为了避免检查 key :

from collections import defaultdict

dic = defaultdict(list)
for ship in game_map._all_ships():
    dic[ship.owner].append(ship)

关于python - 创建一个具有未知键的字典并向其附加一个列表值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979374/

相关文章:

python - 如何将光标对象的输出存储到文本文件?

list - 为什么我的 lisp 函数给我这个输出?

r - 列表、数据框循环和索引问题

python - 重写mysql中的日期时间

python - 如何在Python中检查2个字符串是否包含相同的字母和数字?

Python动态函数生成

list - CSS:使用带有背景图像的列表的水平菜单?

来自两个不同大小数组的 Ruby 数组?

python - 是否可以在没有双重拆分的情况下从未解析的字符串列表构造字典理解?

python - 函数名后的键名