Python按属性排序,可以是None

dab*_*aba 5 python sorting python-2.7

假设我有一个我要排序的项目列表:items = [ item1, item2, item3 ].我想用来对它们进行排序的属性是item.data.value,所以我通常会去:

sorted(items, key=attrgetter('data.value'))
Run Code Online (Sandbox Code Playgroud)

那工作得很好.但是,data实际上None显然我无法访问value.

你通常如何处理这样的场景?

PS:这个问题这个问题都没有帮助.

Ser*_*aev 6

sorted(items, key=lambda i: i.data.value if i.data else 0)
Run Code Online (Sandbox Code Playgroud)