创建字典时遇到麻烦,该字典以n:n * n,n + 1:n + 1 * n + 1等循环。该格式必须包含1到10之间的数字。
d = dict ()
for n in range (1,10): dict[n*n]
我无法打印预期的输出。我也尝试过使用{}
使其变得更干净而没有成功(n:n*n, n+1: n+1*n+1,...
)。
然后我希望能够将其切换并学习如何使用不同的变量。
答案 0 :(得分:9)
您可以使用dict理解:
{ n: n*n for n in range(10) }
它的工作原理类似于列表理解,但结果是字典。
答案 1 :(得分:8)
尝试一下:
d = dict ()
for n in range (1,10):
d[n] = n*n
或一行:
d = {n: n*n for n in range(10)}
答案 2 :(得分:2)
请注意,10
不在range(1, 10)
如果需要
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
您应该使用{n: n*n for n in range(1, 11)}
问题的第二部分:
只需使用不同的值即可做到:
{n: n*n for n in (1, 42, 274)} # {1: 1, 42: 1764, 274: 75076}
l = [3, 14, 15, 92, 65, 35]
d = {n: n*n for n in l} # {3: 9, 14: 196, 15: 225, 92: 8464, 65: 4225, 35: 1225}
v = d[92] # 8464