有没有 Pythonic 方法可以将集合转换为字典?
is there any pythonic way to convert a set into a dict?
我得到了以下套装
s = {1,2,4,5,6}
并且想要下面的字典
c = {1:0, 2:0, 3:0, 4:0, 5:0, 6:0}
有一个你会做的清单
a = [1,2,3,4,5,6]
b = []
while len(b) < len(a):
b.append(0)
c = dict(itertools.izip(a,b))
使用 dict.fromkeys()
:
c = dict.fromkeys(s, 0)
演示:
>>> s = {1,2,4,5,6}
>>> dict.fromkeys(s, 0)
{1: 0, 2: 0, 4: 0, 5: 0, 6: 0}
这也适用于列表;这是从序列创建字典的最有效方法.请注意,所有值都是对您传递给 dict.fromkeys()
的默认值的引用,因此当该默认值是可变对象时要小心.
This works for lists as well; it is the most efficient method to create a dictionary from a sequence. Note all values are references to that one default you passed into dict.fromkeys()
, so be careful when that default value is a mutable object.
这篇关于设置为 dict Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!