按列表属性排序列表

con*_*usl 7 python python-2.7

我知道有几个关于各种python列表的帖子,但是我尝试了大量的东西并没有完成得到我想要的东西.

我的代码:

    list = []
    things = re.findall('<a class="th tooltip" data-rel=.*? href="(.*?)".*?>   <img src="(.*?)" alt="(.*?)" .*?', content, re.DOTALL)
for url, image, name in things:
    list.append({'url': url, 'image': image, 'name': name})
Run Code Online (Sandbox Code Playgroud)

现在我想按名称对此列表进行排序.我找到了几个说明要使用的帖子,list.sort(key=)但我不知道我应该用什么键.我试过的一切都导致了KeyError.

如果我复制已经解决的帖子,我很抱歉,但我找不到合适的解决方案.

提前致谢.

Ana*_*mar 3

name使用 lambda 表达式,lambda 表达式会获取字典作为参数,然后你可以从字典中返回元素-

lst.sort(key=lambda x: x['name'])
Run Code Online (Sandbox Code Playgroud)

另外,请不要使用list变量的 as 名称,它会覆盖内置list函数,这可能会在尝试使用list(..)函数时导致问题。