如何在1行代码中不使用for循环的情况下创建字典?

时间:2019-01-22 11:41:03

标签: python dictionary

这是我的代码:

dictionary = {}
for i in range(2, 15):
    dictionary[str(i)] = 0

是否可以仅用一行代码来创建它?

4 个答案:

答案 0 :(得分:7)

使用:

print(dict.fromkeys(range(2,15),0))

或者如果想要字符串作为字典键:

print(dict.fromkeys(map(str,range(2,15)),0))

另一种使键字符串变为字符串的方法:

print(dict.fromkeys([str(i) for i in range(2,15)],0))

答案 1 :(得分:5)

是:

dictionary = {str(i): 0 for i in range(2, 15)}

这称为dictionary comprehension。列表,生成器和集合的语法结构相似。

答案 2 :(得分:2)

只需添加另一种方法,您还可以使用zip进行制作:

dictionary = dict(zip(range(2,15),iter(int, 1)))

答案 3 :(得分:1)

看看字典理解

dictionary  = {str(i):0 for i in range(2,15)}