擅长:python、mysql、java
<p>您可以创建一个合适的元组作为排序键。第一部分是您的<code>preferred_projects</code>的索引,默认值是最大索引。第二部分是允许按字母排序的名称:</p>
<pre><code>preferred_projects = ['project one', 'project two', 'project three']
def sort_by(entry):
name = entry['name']
try:
index = preferred_projects.index(name)
except ValueError:
index = len(preferred_projects)
return (index, name)
AllMyProjectsFromaDatasource = [
{ 'name': 'project two', 'id': 5, 'otherkey': 'othervalue'},
{ 'name': 'project three', 'id': 1, 'otherkey': 'othervalue'},
{ 'name': 'project one', 'id': 3, 'otherkey': 'othervalue'},
{ 'name': 'abc project', 'id': 6, 'otherkey': 'othervalue'},
{ 'name': 'one project', 'id': 9, 'otherkey': 'othervalue'}]
AllProjects = sorted(AllMyProjectsFromaDatasource, key=sort_by)
for p in AllProjects:
print p
</code></pre>
<p>给出以下输出:</p>
^{pr2}$