2024-04-26 14:41:28 发布
网友
我想使用Python关键字dict返回一个字典,其中给定句子的每个单词都是true。 代码片段是:
return dict((word, True) for word in words)
现在,当两个代码返回相同的字典时,就会出现歧义:
1。在
2。在
为什么第二个片段不返回包含单词列表的dict?在
这两个片段基本上都与:
return dict.fromkeys(words, True)
这是一个映射,其中键是words中的项,值为True。在
words
dict类还接受(key, value)对的iterable,这就是您在这两个片段中创建的内容。在
dict
(key, value)
在第一种情况下,它是一个生成器表达式,因此并不是一次创建所有项,而是在迭代时创建它们。在
第二个是列表压缩,因此首先创建一个列表,然后创建所有项并将其放入一个列表中。在
无论哪种情况,dict都会看到一个iterable。在
这两个片段基本上都与:
这是一个映射,其中键是
words
中的项,值为True。在dict
类还接受(key, value)
对的iterable,这就是您在这两个片段中创建的内容。在在第一种情况下,它是一个生成器表达式,因此并不是一次创建所有项,而是在迭代时创建它们。在
第二个是列表压缩,因此首先创建一个列表,然后创建所有项并将其放入一个列表中。在
无论哪种情况,
dict
都会看到一个iterable。在相关问题 更多 >
编程相关推荐