在python中对字符串列表进行排序,使得特定字符串(如果存在)首先
我是
python的新手,希望有人可以帮我解决这个问题.我需要对字符串列表进行排序:
s = ['status','value','place','tag'] 我需要排序,排序列表如下所示: s_sorted = ['tag','status','value'] 换句话说,特定的字符串’tag’需要始终在前面,其余的字符串将被排序.我试图想出一个可以让我这样做的比较器.但到目前为止我还没能做到这一点.如果有人有解决这样的问题的经验,如果你能分享一些想法,我将不胜感激. 解决方法s = ['status','tag'] s_sorted = sorted(s,key=lambda x:(x!='tag',x)) 密钥生成一个元组,如果元素不是’tag’,则第一个元素为boolean.排序按第一个元素排序,然后排序第二个元素.这种方式标记始终是第一个因为False在True之前排序. 在剩余元素的情况下 – 不等于’tag’ – 排序通常在第二个元组元素上完成,这是对值本身的字典字符串排序. 从排序的documentation:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |