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'标签包含名字.
我该怎么做?
你的意思是这样的:
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)
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |