关于python:按列表的属性排序列表

Sort list by attribute of list

本问题已经有最佳答案,请猛点这里访问。

我知道有几篇关于Python列表的文章,但是我尝试了大量的事情,但是没有完成我想要的。

我的代码:

1
2
3
4
    list = []
    things = re.findall('   <img src="(.*?)" alt="(.*?)" .*?', content, re.DOTALL)
for url, image, name in things:
    list.append({'url': url, 'image': image, 'name': name})

现在我想按名称对这个列表进行排序。我找到了几个帖子,上面说要使用list.sort(key=),但我不知道我应该使用什么作为密钥。我所做的一切都导致了一场战争。

如果我正在复制一个已经解决的帖子,我很抱歉,但是我找不到合适的解决方案。

事先谢谢。


使用λλ将得到表达,表达的参数),然后你可以返回回从字典词典的name

1
lst.sort(key=lambda x: x['name'])

另外,请不要使用list的name的变量,它将覆盖的内置函数的问题list,这可能导致list(..)当试图使用的功能。