最近我处理的是我确信这是一个非常常见的问题,主要归结为以下几点:
给定长文本,计算文本中出现的每个单词的频率.
我能够解决这个问题std::unordered_map.然而,这对于文本中的每个单词来说都变得非常难看,如果已经遇到过这种情况,我必须进行查找,擦除,然后重新插入到地图中并增加值.
我意识到还有其他方法可以做到这一点,例如在vanilla数组/向量上使用散列函数并在那里增加值,但我想知道是否有更优雅的方法来解决这个问题,比如STL组件,或功能.这将与Pythons Counter集合具有类似的接口.
我知道C++是C++我真的不能期望总是为我实现这样的高级概念,但只是想知道你们是否有新的东西(或者至少你的谷歌搜索技能优于我的)可能使我的代码成为一个好一点.
我有一个有两种方法的对象.
foo.publicMethod()会在foo.privateMethod()内部打电话.
例如:
foo.prototype.publicMethod = function() {
return this.privateMethod()
.then(/* Do some other stuff */);
};
Run Code Online (Sandbox Code Playgroud)
为了单独测试公共方法,我通过使私有方法返回一个空的promise来存根.出于某种原因,如果我分配
foo.privateMethod = () => Promise.resolve();
Run Code Online (Sandbox Code Playgroud)
一切都很好,但无论如何
foo.privateMethod = Promise.resolve;
Run Code Online (Sandbox Code Playgroud)
生成错误消息: TypeError: object is not a constructor
我看不出这两行代码会产生不同的结果.是的,一个在技术上包装Promise.resolve一次,但我不知道这应该如何影响最终结果.任何想法有什么不同?
我有这样的DataFrame
>>> df
id name score subject
0001 'bob' 100 'math'
0001 'bob' 67 'science'
0001 'bob' 63 'bio'
0002 'jack' 67 'math'
0002 'jack' 98 'science'
0002 'jack' 90 'bio'
0003 'jack' 60 'math'
0003 'jack' 78 'science'
0003 'rose' 87 'bio'
Run Code Online (Sandbox Code Playgroud)
我想将每个id数据过滤到一个新的DataFrame中,并根据其id写入Excel文件.因此,上述df将被过滤到3个DataFrames它ids是0001,0002并且0003,所有的DataFrames将被写入单独的Excel文件.