tuple在获取最后一个元素之前,检查它是否为空.
sorted(lst, key=lambda p: bool(p) and p[-1])
Run Code Online (Sandbox Code Playgroud)
bool(p) and p[-1]False当元组为空时返回(计算结果为0),否则返回最后一个值.
使用该方法,如果所有值都为正,则空元组在排序列表中排在第一位.它需要更多调整才能使它们在通用情况下显示为第一个或最后一个,仍然可以通过tuple在lambda中返回a 来实现:
sorted(lst, key=lambda p: (not bool(p),bool(p) and p[-1]))
Run Code Online (Sandbox Code Playgroud)
以下将使空元组在列表中排在最后(因为空的时候会not产生True)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |