在创建以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,...)。
然后我希望能够切换它,并学习如何使用不同的变量。
发布于 2019-02-20 20:41:14
你可以使用字典理解:
{ n: n*n for n in range(10) }它的工作原理类似于列表理解,但结果是一个字典。
发布于 2019-02-20 20:41:03
试试这个:
d = dict ()
for n in range (1,10):
d[n] = n*n或者一行:
d = {n: n*n for n in range(10)}发布于 2019-02-20 20:44:49
请注意,range(1, 10)中不包含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] # 8464https://stackoverflow.com/questions/54786587
复制相似问题