我正在按照类作业的说明进行操作,并且我应该在文本文件中查找最常用的200个单词。这是代码的最后一部分:fdist1=FreqDist(NSmyText)vocab=fdist1.keys()vocab[:200]但是当我在vocab200行之后按enter时,它会返回:Traceback(mostrecentcalllast):File"",line1,inTypeError:'dict_keys'objectisnotsubscriptable有关如何解决此问题以便正确返回答案的任何建议? 最佳答案 看起来您使用的是Python3
我正在按照类作业的说明进行操作,并且我应该在文本文件中查找最常用的200个单词。这是代码的最后一部分:fdist1=FreqDist(NSmyText)vocab=fdist1.keys()vocab[:200]但是当我在vocab200行之后按enter时,它会返回:Traceback(mostrecentcalllast):File"",line1,inTypeError:'dict_keys'objectisnotsubscriptable有关如何解决此问题以便正确返回答案的任何建议? 最佳答案 看起来您使用的是Python3
我发现将dict内置的keys()和values()方法的结果与自己的结果进行比较结果不一致:instance={'one':1}instance.values()==instance.values()#ReturnsFalseinstance.keys()==instance.keys()#ReturnsTrue在Python2.7中运行上述代码将为这两个调用返回True,这让我相信Python3的dict_values中存在一些实现细节会导致这种奇怪的行为。这种行为是有原因的还是我偶然发现了一些不为人知的错误? 最佳答案 简短的
我发现将dict内置的keys()和values()方法的结果与自己的结果进行比较结果不一致:instance={'one':1}instance.values()==instance.values()#ReturnsFalseinstance.keys()==instance.keys()#ReturnsTrue在Python2.7中运行上述代码将为这两个调用返回True,这让我相信Python3的dict_values中存在一些实现细节会导致这种奇怪的行为。这种行为是有原因的还是我偶然发现了一些不为人知的错误? 最佳答案 简短的
如果我理解正确,在Python2中,iter(d.keys())与d.iterkeys()相同。但是现在,d.keys()是一个View,它位于列表和迭代器之间。View和迭代器有什么区别?也就是说,在Python3中,有什么区别forkind.keys()f(k)和forkiniter(d.keys())f(k)此外,这些差异如何在一个简单的for循环中显示出来(如果有的话)? 最佳答案 我不确定这是否能很好地回答您的问题,但希望它能解释一下Python2和3在这方面的区别。在Python2中,iter(d.keys())和d.i
如果我理解正确,在Python2中,iter(d.keys())与d.iterkeys()相同。但是现在,d.keys()是一个View,它位于列表和迭代器之间。View和迭代器有什么区别?也就是说,在Python3中,有什么区别forkind.keys()f(k)和forkiniter(d.keys())f(k)此外,这些差异如何在一个简单的for循环中显示出来(如果有的话)? 最佳答案 我不确定这是否能很好地回答您的问题,但希望它能解释一下Python2和3在这方面的区别。在Python2中,iter(d.keys())和d.i
我正在尝试使用.keys()而不是获取键列表,例如总是有过去。不过我明白了。b={'video':0,'music':23}k=b.keys()print(k[0])>>>TypeError:'dict_keys'objectdoesnotsupportindexingprint(k)dict_keys(['music','video'])它应该只打印['music','video']除非我快疯了。发生了什么事? 最佳答案 Python3改变了dict.keys的行为,现在它返回一个dict_keys对象,该对象是可迭代但不可索引的
我正在尝试使用.keys()而不是获取键列表,例如总是有过去。不过我明白了。b={'video':0,'music':23}k=b.keys()print(k[0])>>>TypeError:'dict_keys'objectdoesnotsupportindexingprint(k)dict_keys(['music','video'])它应该只打印['music','video']除非我快疯了。发生了什么事? 最佳答案 Python3改变了dict.keys的行为,现在它返回一个dict_keys对象,该对象是可迭代但不可索引的
我希望Python的keys方法返回一个集合而不是一个列表。因为它最类似于hashmap的键所提供的保证。具体来说,它们是唯一的并且没有排序,就像一个集合。但是,此方法返回一个列表:>>>d={}>>>d.keys().__class__这只是PythonAPI中的一个错误,还是我错过了其他一些原因? 最佳答案 一个原因是dict.keys()早于将集合引入语言。注意dict.keys()的返回类型在Python3中已更改:该函数现在返回“类似集合”view而不是一个列表。Forset-likeviews,alloftheopera
我希望Python的keys方法返回一个集合而不是一个列表。因为它最类似于hashmap的键所提供的保证。具体来说,它们是唯一的并且没有排序,就像一个集合。但是,此方法返回一个列表:>>>d={}>>>d.keys().__class__这只是PythonAPI中的一个错误,还是我错过了其他一些原因? 最佳答案 一个原因是dict.keys()早于将集合引入语言。注意dict.keys()的返回类型在Python3中已更改:该函数现在返回“类似集合”view而不是一个列表。Forset-likeviews,alloftheopera