这是我的代码,应该生成一个字典,其中的键是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
请指出我的错误。
谢谢。
列表可能会更适合此应用程序。试试这个:
d = [ x**2 for x in range(21) ]
使用此列表,您可以使用d[6]
访问列表中的第七项,而不必使用词典。但是,如果您仍然想使用字典,则可以通过以下方式进行:
d = { i: i**2 for i in range(21) }