Python dict歧义

2024-04-26 14:41:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Python关键字dict返回一个字典,其中给定句子的每个单词都是true。 代码片段是:

return dict((word, True) for word in words)

现在,当两个代码返回相同的字典时,就会出现歧义:

1。在

return dict((word, True) for word in words)

2。在

^{3}$

为什么第二个片段不返回包含单词列表的dict?在


Tags: 代码intrue列表forreturn字典关键字
1条回答
网友
1楼 · 发布于 2024-04-26 14:41:28

这两个片段基本上都与:

return dict.fromkeys(words, True)

这是一个映射,其中键是words中的项,值为True。在

dict类还接受(key, value)对的iterable,这就是您在这两个片段中创建的内容。在

在第一种情况下,它是一个生成器表达式,因此并不是一次创建所有项,而是在迭代时创建它们。在

第二个是列表压缩,因此首先创建一个列表,然后创建所有项并将其放入一个列表中。在

无论哪种情况,dict都会看到一个iterable。在

相关问题 更多 >