import collections
data = [
{'firstname': 'John', 'lastname': 'Smith'},
{'firstname': 'Samantha', 'lastname': 'Smith'},
{'firstname': 'shawn', 'lastname': 'Spencer'},
]
new_data = collections.defaultdict(list)
for d in data:
new_data[d['lastname']].append(d['firstname'])
print new_data
Run Code Online (Sandbox Code Playgroud)
这是输出:
defaultdict(<type 'list'>, {'Smith': ['John', 'Samantha'], 'Spencer': ['shawn']})
Run Code Online (Sandbox Code Playgroud)
这是模板:
{% for lastname, firstname in data.items %}
<h1> {{ lastname }} </h1>
<p> {{ firstname|join:", " }} </p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是我的模板中的循环不起作用.什么都没有出现.它甚至没有给我一个错误.我怎样才能解决这个问题?它应该显示姓氏和名字,如下所示:
<h1> Smith </h1>
<p> John, Samantha </p>
<h1> Spencer </h1>
<p> shawn </p>
Run Code Online (Sandbox Code Playgroud) 目前我正在使用这样的东西:
images = Image.all()
count = images.count()
random_numb = random.randrange(1, count)
image = Image.get_by_id(random_numb)
Run Code Online (Sandbox Code Playgroud)
但事实证明AppEngine数据存储区中的ID不是从1开始的.我在数据存储区中有两个图像,它们的ID是6001和7001.
有没有更好的方法来检索随机图像?
我正在努力将信息提交给严重依赖Javascript来完成其大部分操作的网站.当我在浏览器中禁用Javascript时,该网站甚至无法工作.
我在Google和SO上搜索了一些解决方案,并且有人建议我应该对Javascript进行逆向工程,但我不知道该怎么做.
到目前为止,我一直在使用Mechanize,它适用于不需要Javascript的网站.
有没有办法通过使用urllib2或类似的东西访问使用Javascript的网站?我也愿意学习Javascript,如果这就是它需要的东西.
是否有一种在Pylons中添加身份验证的真实方法?我见过很多不同的方式,但大多数都是过时的或过于复杂的.是否有某个教程解释了如何以良好和可靠的方式添加身份验证?
我希望匹配包含特殊字符或以"http://"开头的单词
所以这句话
%#llo,我的网站是:http://www.url.com/abcdef123
应该变成这个
我的网站
到目前为止,我有这个
re.sub(r"^[^\w]", " ", "%he#llo, my website is: http://www.url.com/abcdef123")
Run Code Online (Sandbox Code Playgroud)
这只是删除符号,但它不会删除与符号关联的单词(它也不会删除':'和','),也不会删除URL.
我试图每10秒从服务器请求一个json对象使用这个:
setInterval(function(){
$.ajax({
url: '/',
success: function(data){
//do stuff with data
}
});
}, 10000);
Run Code Online (Sandbox Code Playgroud)
但这不是很有效.我知道长轮询,但我认为这不会产生很大的影响.我知道每10秒钟我会收到一些新数据,那么在效率方面是否会使长轮询与setInterval完全相同?
浏览器端缓存是解决此问题的好方法吗?
我将获得的JSON对象如下所示:
var data = {1: {'user': 'John', 'age': '25'}, {2: {'user': 'Doe', 'age': '30'}}
Run Code Online (Sandbox Code Playgroud)
有了这个,我想显示数据[0] .user几秒钟,然后通过使用'fadeOut'和'fadeIn'等顺利地将其更改为数据[1] .user,直到用完用户为止.我基本上想要创建用户的用户名的幻灯片.
缓存是一个很好的解决方案还是应该坚持每10秒进行一次Ajax调用?如果是这样,那么我将如何实现这个,如果没有,我应该使用什么方法?
我不确定我是否解释得足够好,所以告诉我是否仍然不清楚.
def mergeDict(object):
dict1 = {}
for i in range(len(object)):
dict1.update({'id': object[i].id, 'name': object[i].name, 'age': object[i].age, 'location': object[i].location})
return dict1
merged_dict = mergeDict(details_sorted)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我想得到这样的东西:
{1: {'id': 1, 'name': 'John', 'age': '25'; 'location': 'somewhere'},
2: {'id': 2, 'name': ......}}
Run Code Online (Sandbox Code Playgroud) for i in names:
dict[i] = {'firstname': name[i]['firstname'],
'lastname': name[i]['lastname']}
print dict[0]['firstname'] # John
print dict[0]['lastname'] # Doe
# group similar lastnames, along with their firstnames
# ...
return render_to_response('index.html', dict)
Run Code Online (Sandbox Code Playgroud)
我想分组以相似的姓氏结尾的名字.例如,输出应为:
<html>
<body>
<h1> Doe </h1>
<p> John, Jason, Peter </p>
<h1> Avery </h1>
<p> Kelly, Brittany </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
'h1'标签应该包含姓氏,'p'标签包含名字.
我该怎么做?