我想计算数组中某个数字出现的频率。例如,在 Python 中,我可以用来Collections.Counter创建一个字典,记录某个项目在列表中出现的频率。
据我所知,JavaScript 是这样的:
var array = [1,4,4,5,5,7];
var obj = {};
for (var i=0; i < array.length; i++) {
/* obj[array[i]] = +=1 */ <= pseudo code
}
Run Code Online (Sandbox Code Playgroud)
如何创建这个频率计数器对象?
所以我正在编写一个程序来搜索关键字的职位发布.我已经有了将整个作业描述转换为单个单词列表,删除空格,特殊字符,使所有内容都小写等的代码.
我想做一些事我可以像"打印一些东西,如果这个列表包含python但不打印它,如果有的话python,VBA.这就是我拥有的东西:
def query_job_posting(url, query_list_include, query_list_exclude):
soup = create_soup(url)
...list formatting functions...
for i in job_description_list:
if any(word in i for word in query_list_include) and not any(exclude in i for exclude in query_list_exclude):
print(url)
Run Code Online (Sandbox Code Playgroud)
job_description list 看起来像这样:
['this',
'is',
'a',
'vba',
'job',
'python']
Run Code Online (Sandbox Code Playgroud)
但它似乎没有起作用.
如果query_list_include=['python']和query_list_exclude=[]随后的URL打印.
如果query_list_exclude=['vba']和query_list_include=[]那么URL不打印.
但是如果我python按照包含和vba排除的方式离开,那么网址仍会打印,即使我手动验证了两者vba并且python都在job_descripton_list
我在哪里错了?
因此,从第2行开始,我想打印以下3行,并在第16行执行相同的操作,直到文件结束。到目前为止,我所拥有的是:
awk 'NR % 16 ==2'
Run Code Online (Sandbox Code Playgroud)
我在添加“打印以下3行”部分时遇到了麻烦。有什么建议么?