仅使用键制作字典?

时间:2017-02-20 12:23:12

标签: python dictionary append key

我需要制作一个只包含键的词典。

我不能使用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"} ?

3 个答案:

答案 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并稍后更新。