我需要制作一个只包含键的词典。
我不能使用d.append()
,因为它不是列表,也不能setdefault
,因为它需要2个参数:一个键和一个值。
它应该如下工作:
d = {}
添加“a”:
d = {"a"}
添加“b”:
d = {"a", "b")
添加“c”......
#Final result is
d = {"a", "b", "c"}
获得此结果需要什么代码? 还是另一种解决方案?如制作清单。
l = ["a", "b", "c"] # and transform it into a dictionnary: d = {"a", "b", "c"} ?
答案 0 :(得分:11)
仅包含密钥的dict
称为set
。
从空集开始,而不是字典。
d = set()
d.add('a')
d.add('b')
d.add('c')
您还可以通过{}
表达式创建一个集合:
d = { 'a', 'b', 'c' }
或使用列表:
d = set(['a', 'b', 'c'])
答案 1 :(得分:2)
您需要set
而非字典
l = ["a", "b", "c"]
d = set(l)
答案 2 :(得分:0)
应该这样做:
l = ["a", "b", "c"]
d = {k:None for k in l}
正如@Rahul在评论中所说,d = {"a", "b", "c"}
不是有效的字典定义,因为它缺少值。您需要将值分配给键才能存在字典,如果缺少值,则只需指定None
并稍后更新。