我是Python的新手,我想知道代码是否可行:
chs = ch.split(' ')
d = { mot:ch.count(mot) for mot in chs if (mot not in d)}
这些说明旨在根据我在其他编程语言中的知识来创建字典,我了解每次迭代循环时都会进行计数,因此,我尝试做的是优化而不是计算计数。这个词已经计算在内。
现在问题是我收到此错误
NameError: free variable 'd' referenced before assignment in enclosing scope
我完全理解,变量d
尚未设置。
所以,我要寻找的是知道是否有一些临时变量的值包含在附件之前。
您完全不需要检查mot
中是否存在d
。>
ch = 'a a b c d' chs = ch.split(' ') d = { mot:ch.count(mot) for mot in chs }
现在是
d = {'a': 2, 'b': 1, 'c': 1, 'd': 1}
。
您不需要支票