List python按true或false对列表进行排序
我有一个帖子列表。每个帖子都有一个true或False值,它决定了帖子应该在列表中的哪个位置。正确的帖子应该在列表的开头,错误的帖子应该在列表的结尾。我怎样才能对这样的列表进行排序?例如:List python按true或false对列表进行排序,list,sorting,List,Sorting,我有一个帖子列表。每个帖子都有一个true或False值,它决定了帖子应该在列表中的哪个位置。正确的帖子应该在列表的开头,错误的帖子应该在列表的结尾。我怎样才能对这样的列表进行排序?例如: posts[0].value = True posts[1].value = False posts[2].value = False posts[3].value = True 应按如下方式进行排序: 职位[0],职位[3],职位[1],职位[2] 提前感谢您可以这样做: posts.sort(key=l
posts[0].value = True
posts[1].value = False
posts[2].value = False
posts[3].value = True
应按如下方式进行排序:
职位[0],职位[3],职位[1],职位[2]
提前感谢您可以这样做:
posts.sort(key=lambda x: not x.value)
键用于指定一个自定义函数来比较列表中的项。该函数切换值,因为在Python中,False
posts.sort(key=lambda x: not x.value)
键用于指定一个自定义函数来比较列表中的项。函数切换值,因为在Python中,False
t = (i for i in posts if i.value)
f = (i for i in posts if not i.value)
list(itertools.chain(t, f))
这更多的是分组而不是排序,因为第一个操作打开,另一个操作打开*logn
t = (i for i in posts if i.value)
f = (i for i in posts if not i.value)
list(itertools.chain(t, f))
我刚用过,告诉我们为什么没用。sorted创建另一个列表,使用列表上的sort方法更改该列表。不必担心。这确实有效。出于某种原因,我做了:分拣邮件、钥匙。。。。我想我看错了。谢谢我刚用过,告诉我们为什么没用。sorted创建另一个列表,使用列表上的sort方法更改该列表。不必担心。这确实有效。出于某种原因,我做了:分拣邮件、钥匙。。。。我想我看错了。谢谢我相信这是可行的。一开始我也在做类似的事情。然而,我想用排序来代替。谢谢,但我相信这是可行的。一开始我也在做类似的事情。然而,我想用排序来代替。谢谢