使用Python中的None排序列表获取索引

2024-04-20 10:54:58 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Python中使用None值对列表进行排序以获取索引?在

myList=['BAT46ZFILM', 'CMD17-21VGD/TR8', 'BAT46ZFILM', None, 'B72207S2321K311']

我知道

^{pr2}$

获取排序方法的索引。但是如何将所有的None值放在末尾。例如,与此解决方案合并:

sorted(myList, key=lambda x: (x is None, x))

使用None值进行排序,但不获取索引。在


Tags: 方法lambdakeynone列表排序解决方案sorted
3条回答

使用

sorted(range(len(m)), key=lambda k:(m[k] is None,  m[k]))

实际上,您可以使用None进行排序(仅供参考)

>>> sorted([11, 33, 22, None])
[None, 11, 22, 33]

如果要通过删除None对值进行排序:

^{pr2}$

将两个条件(即None和字符串值)组合成元组并按元组排序:

[i[0] for i in sorted(enumerate(myList), key=lambda x:(x[1] is None, x[1]))]

相关问题 更多 >