Python中的词典生成器

问题描述 投票:1回答:1

这是我的代码,应该生成一个字典,其中的键是1到20之间的数字(都包括在内),值是键的平方。该功能应仅打印值。

d={}

d.update(dict(map(lambda i:({i:i**2}),[i for i in range(0,21)])))

print(d.values())

它给我以下错误:

 File "D:\python\py\new\dict_1_to_20_sqr.py", line 16, in <module>
    d.update(dict(map(lambda i:({i:i**2}),[i for i in range(0,21)])))

ValueError: dictionary update sequence element #0 has length 1; 2 is required

请指出我的错误。

谢谢。

python dictionary generator
1个回答
1
投票

列表可能会更适合此应用程序。试试这个:

d = [ x**2 for x in range(21) ]

使用此列表,您可以使用d[6]访问列表中的第七项,而不必使用词典。但是,如果您仍然想使用字典,则可以通过以下方式进行:

d = { i: i**2 for i in range(21) }
© www.soinside.com 2019 - 2024. All rights reserved.