Python 如何以更快的方式制作包含列表的词典

Python 如何以更快的方式制作包含列表的词典,python,list,dictionary,Python,List,Dictionary,我想制作一个字典,其中每个键都有一个列表(例如,{a:[f,g,d],B:[g,k,s,r]})。 我当前的代码使用for循环。 然而,许多人说最好避免python中的for循环。 所以我想知道另一种更快地做同样事情的方法(也许不用for循环)。 多谢各位 def字典(数据): 字典={} 对于数据中的i: Dictionary.setdefault((i[0],i[1]),[])。append(i[2]) 返回字典 我会使用字典理解。此外,for循环可能非常有用和有效。这是关于在工作中使用正确

我想制作一个字典,其中每个键都有一个列表(例如,{a:[f,g,d],B:[g,k,s,r]})。 我当前的代码使用for循环。 然而,许多人说最好避免python中的for循环。 所以我想知道另一种更快地做同样事情的方法(也许不用for循环)。 多谢各位

def字典(数据):
字典={}
对于数据中的i:
Dictionary.setdefault((i[0],i[1]),[])。append(i[2])
返回字典

我会使用字典理解。此外,for循环可能非常有用和有效。这是关于在工作中使用正确的工具。如果您在浏览器中搜索“Python列表理解”和“dict理解”,那么有关dict理解和for循环的文档都是一个非常好的起点,你会找到比我们在这里管理得更好的参考资料来解释这一点。在填充dict时,循环是可以的。看看
collections.defaultdict
。许多人说这还不足以激发优化IMHO。我不知道是不是更快,但你可以像pylang指出的那样使用defaultdict你真的想要一个元组作为键吗?