首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字典n: n*n,n+1: n+1*n+1

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

Stack Overflow用户
提问于 2019-02-20 20:38:47
回答 3查看 130关注 0票数 0

在创建以n: n*n、n+1: n+1*n+1等形式循环的字典时遇到问题。在此形式中,它必须包含介于1和10之间的数字。

代码语言:javascript
复制
d = dict ()
for n in range (1,10): dict[n*n]

我无法打印预期的输出。我也尝试过让{}变得更干净,但没有成功(n:n*n, n+1: n+1*n+1,...)。

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

EN

回答 3

Stack Overflow用户

发布于 2019-02-20 20:41:14

你可以使用字典理解:

代码语言:javascript
复制
{ n: n*n for n in range(10) }

它的工作原理类似于列表理解,但结果是一个字典。

票数 10
EN

Stack Overflow用户

发布于 2019-02-20 20:41:03

试试这个:

代码语言:javascript
复制
d = dict ()
for n in range (1,10):
    d[n] = n*n

或者一行:

代码语言:javascript
复制
d = {n: n*n for n in range(10)}
票数 8
EN

Stack Overflow用户

发布于 2019-02-20 20:44:49

请注意,range(1, 10)中不包含10

如果你想

代码语言:javascript
复制
{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)}

问题的第二部分:

要使用不同的值来执行此操作,您可以简单地执行以下操作:

代码语言:javascript
复制
{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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54786587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档