我想知道python 2.7中对象most_common提供的函数的复杂性是多少collections.Counter.
更具体地说,是Counter保持某种排序列表,当它被更新,允许执行的most_common速度比运行O(n)时n添加计数器的(唯一的)项目的数量?为了您的信息,我正在处理一些大量的文本数据,试图找到第n个最常见的令牌.
我检查了官方文档(https://docs.python.org/2/library/collections.html#collections.Counter),CPython wiki(https://wiki.python.org/moin/TimeComplexity)但我可以找不到答案.先感谢您!
罗曼.
使用Selectize.js,我正在尝试初始化动态预先选择列表中的一个项而不触发onItemAdd事件.在以下代码中,即使silent参数是真实的,也会触发事件:
$(function () {
$('select').selectize({
onItemAdd: function () {
alert("Add item");
}
});
// this triggers an the event
$('select')[0].selectize.addItem('2', true);
});
Run Code Online (Sandbox Code Playgroud)
JSFiddle:http://jsfiddle.net/zuzat0dc/1/
根据文件:
addItem(value, silent):"选择"一个项目.将其添加到当前插入符号位置的列表中.如果"沉默"是真实的,则不会对原始输入触发更改事件.知道如何避免触发onItemAdd事件吗?在silent参数b0rked或者我应该使用change的事件呢?
我在组合多处理,请求(或urllib2)和nltk时遇到了问题.这是一个非常简单的代码:
>>> from multiprocessing import Process
>>> import requests
>>> from pprint import pprint
>>> Process(target=lambda: pprint(
requests.get('https://api.github.com'))).start()
>>> <Response [200]> # this is the response displayed by the call to `pprint`.
Run Code Online (Sandbox Code Playgroud)
关于这段代码的作用的更多细节:
这很有效.导入nltk时出现问题:
>>> import nltk
>>> Process(target=lambda: pprint(
requests.get('https://api.github.com'))).start()
>>> # nothing happens!
Run Code Online (Sandbox Code Playgroud)
在导入NLTK之后,请求实际上会以静默方式崩溃线程(如果尝试使用命名函数而不是lambda函数,print在调用之前和之后添加一些语句,您将看到执行在调用时停止requests.get)有没有人知道NLTK可以解释这种行为,以及如何克服这个问题?
这是我正在使用的版本:
$> python --version
Python 2.7.5
$> pip freeze | grep nltk
nltk==2.0.5
$> pip freeze | grep requests
requests==2.2.1
Run Code Online (Sandbox Code Playgroud)
我正在运行Mac OS X v.10.9.5.
谢谢!
python nltk python-2.7 python-requests python-multiprocessing
我正在寻找一种在 mongoDB 中存储时区感知datetime对象的方法。
我在这里读到:使用 pyMongo 创建 ISODate,使用 pymongo 在 MongoDB 中存储datetime对象将导致ISODate存储一个对象(或者从 shell 查询时看起来像这样的对象)
使用该datetime.replace(tzinfo=[...])方法,有一种方法可以使日期时间对象了解其时区。不幸的是,当将此类对象存储在 mongoDB 中时,时区信息似乎丢失了。
我的问题是:有没有办法将时区存储在 ISODate 对象本身中,以便它看起来像这样:ISODate("2012-07-14T01:00:00+01:00")在查询 shell 时,以便稍后用 pymongo 重新加载时 datetime 对象仍然能够识别时区?
非常感谢你的帮助!
我正在使用python,NLTK和WordNetLemmatizer开发一个变形器.这是一个输出我期望的随机文本
from nltk.stem import WordNetLemmatizer
from nltk.corpus import wordnet
lem = WordNetLemmatizer()
lem.lemmatize('worse', pos=wordnet.ADJ) // here, we are specifying that 'worse' is an adjective
Run Code Online (Sandbox Code Playgroud)
输出: 'bad'
lem.lemmatize('worse', pos=wordnet.ADV) // here, we are specifying that 'worse' is an adverb
Run Code Online (Sandbox Code Playgroud)
输出: 'worse'
好吧,这里的一切都很好.行为与其他形容词相同'better'(对于不规则形式)或'older'(注意相同的测试'elder'将永远不会输出'old',但我猜wordnet不是所有现有英语单词的详尽列表)
尝试用这个词时我的问题是'furter':
lem.lemmatize('further', pos=wordnet.ADJ) // as an adjective
Run Code Online (Sandbox Code Playgroud)
输出: 'further'
lem.lemmatize('further', pos=wordnet.ADV) // as an adverb
Run Code Online (Sandbox Code Playgroud)
输出: 'far'
这是一个'worse'字的完全相反的行为!
谁能解释一下为什么?这是来自wordnet synsets数据的错误还是来自我对英语语法的误解?
如果问题已经得到解答,请原谅我,我已经搜索谷歌和SO,但是当指定关键词"进一步"时,我可以找到任何相关但是因为这个词的受欢迎程度而混乱...
提前谢谢你,Romain G.
python ×4
nltk ×2
counter ×1
datetime ×1
javascript ×1
jquery ×1
mongodb ×1
pymongo ×1
python-2.7 ×1
selectize.js ×1
timezone ×1
wordnet ×1