我有一个大约300个单词的列表和大量的文本,我想扫描,知道每个单词出现的次数.
我正在使用python中的re模块:
for word in list_word:
search = re.compile(r"""(\s|,)(%s).?(\s|,|\.|\))""" % word)
occurrences = search.subn("", text)[1]
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更高效或更优雅的方式来做到这一点?
我愿意在我的django app中使用gravatars.在应用程序中,cw我创建了一个templatetags具有以下架构的目录:
cw/
templatetags/
__init.py__
gravatar.py
views.py
...
Run Code Online (Sandbox Code Playgroud)
在gravatar.py包含
from django import template
import urllib, hashlib
register = template.Library()
class GravatarUrlNode(template.Node):
def __init__(self, email):
self.email = template.Variable(email)
def render(self, context):
try:
email = self.email.resolve(context)
except template.VariableDoesNotExist:
return ''
default = "/site_media/img/defaultavatar.jpg"
size = 40
gravatar_url = "http://www.gravatar.com/avatar/" + hashlib.md5(email.lower()).hexdigest() + "?"
gravatar_url += urllib.urlencode({'d':default, 's':str(size)})
return gravatar_url
@register.tag
def gravatar_url(parser, token):
try:
tag_name, email = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError, "%r tag …Run Code Online (Sandbox Code Playgroud) 我很惊讶:
import igraph
import random, time
start_time = time.time()
G = igraph.Graph(directed = True)
G.add_vertices(10000)
for i in range(30000):
G.add_edge(random.randint(0,9999), random.randint(0,9999))
print "done in " + str(int(time.time() - start_time)) + " seconds"
Run Code Online (Sandbox Code Playgroud)
返回在63秒内完成
而
import igraph
import random, time
start_time = time.time()
G = igraph.Graph(directed = True)
G.add_vertices(10000)
edges = []
for i in range(30000):
edges += [(random.randint(0,9999), random.randint(0,9999))]
G.add_edges(edges)
print "done in " + str(int(time.time() - start_time)) + " seconds"
Run Code Online (Sandbox Code Playgroud)
在0秒内完成返回.项目中有人知道为什么吗?
我正在寻找一个Matlab到Python的自动代码转换器.我下载并安装了LiberMate,但它没有在任何地方记录,我无法使其工作.
以前有人处理过这种挑战吗?欢迎任何建议.
使用 python flask 模块,我想要
app = flask.Flask(__name__)
Run Code Online (Sandbox Code Playgroud)
作为类的属性:
class Handler(object):
def __init__(self):
self.datastores = {}
self.websocket_queue = gevent.queue.JoinableQueue()
self.app = flask.Flask(__name__)
Run Code Online (Sandbox Code Playgroud)
问题是如何访问装饰器呢?
@self.app.route('/socket.io/<path:remaining>')
def socketio(self, remaining):
Run Code Online (Sandbox Code Playgroud)
这会产生错误NameError: name 'self' is not defined
谢谢
我有一个观点,使用户可以编辑自己的个人资料(常用名,用户名等),并包含在一个图像ÌmageField中的UserProfile:
@login_required
def editprofile(request):
user = request.user
if request.method == 'POST':
edit_form = EditProfileForm(data = request.POST, user = user)
if edit_form.is_valid():
user = edit_form.save()
request.user.message_set.create(message='Votre profil a été modifié.')
return HttpResponseRedirect('/')
else:
dict = {'first_name':user.first_name, 'last_name':user.last_name, 'email':user.email, 'username':user.username}
edit_form = EditProfileForm(user = user, data = dict)
tpl_dict = {'form' : edit_form}
return render_to_response('editprofile.html', tpl_dict, RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
形式是:
class EditProfileForm(forms.Form):
first_name = forms.CharField(max_length = 100, required=False)
last_name = forms.CharField(max_length = 100, required=False)
email = forms.EmailField()
username = forms.CharField(max_length …Run Code Online (Sandbox Code Playgroud) 在带有numpy 1.5.1的python 2.7.1中:
import numpy as np
B = np.matrix([[-float('inf'), 0], [0., 1]])
print B
Bm = B[1:, :]
Bm[:, 1] = float('inf')
print B
Run Code Online (Sandbox Code Playgroud)
回报
[[-inf 0.]
[ 0. 1.]]
[[-inf 0.]
[ 0. inf]]
Run Code Online (Sandbox Code Playgroud)
这是非常意外的,因为我认为Bm是一个副本(如在这个问题中).
任何帮助搞清楚这一点将不胜感激.
我有许多地址,如"东19街"或"西141街",我想在一次调用re.sub.中删除"th"和"st".
re.sub("(\d+)st|(\d+)nd|(\d+)rd|(\d+)th", "g<1>", "East 19th Street")
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它并不总是被捕获的第一个gorup
我可以链接潜艇,但它很脏.帮助赞赏
我的计算机上安装了几个版本的python:
$ which ipython
/usr/local/share/python/ipython
$ ipython
Python 2.7.3 (default, Nov 28 2012, 13:43:07)
$ which python
/usr/bin/python
$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
Run Code Online (Sandbox Code Playgroud)
我想找到在我的ipython下运行的python bin.谢谢你的帮助
我的模型UserProfile包含一个OneToOneField名为的类Info:
class UserProfile(models.Model):
user = models.OneToOneField(User, primary_key=True)
info = models.OneToOneField(Info, null = True, blank= True)
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我可以访问配置文件
{{user.get_profile}}
Run Code Online (Sandbox Code Playgroud)
但如何访问Info?我试过了
{{user.get_profile.info.photo.url}}
Run Code Online (Sandbox Code Playgroud)
没有成功.
在scala中想象你有一个很长的列表,你映射一个函数,对每个元素进行独立的操作:
val myList = List(....)
def fct(...) = {...}
myList.map(elem => fct(elem))
Run Code Online (Sandbox Code Playgroud)
由于fct只使用val和不可变操作,因此可以很容易地并行化
myList.par.map(elem => fct(elem))
Run Code Online (Sandbox Code Playgroud)
用for:
for(elem <- myList) {
fct(elem)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在命令中有一个进度条,显示我们在列表中的级别.我想到了类似的东西:
var i = o
Run Code Online (Sandbox Code Playgroud)
在循环之前和内部
i += 1
print(i + (" "*100) + "\r")
Run Code Online (Sandbox Code Playgroud)
但这会破坏并行化的可能性.