字典n:n * n,n + 1:n + 1 * n + 1

时间:2019-02-20 12:38:47

标签: python dictionary

创建字典时遇到麻烦,该字典以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,...)。

然后我希望能够将其切换并学习如何使用不同的变量。

3 个答案:

答案 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