当前位置:  开发笔记 > 编程语言 > 正文

python,通过一个键来排序列表,该键是每个元素的子串

如何解决《python,通过一个键来排序列表,该键是每个元素的子串》经验,为你挑选了2个好方法。

程序的一部分构建此列表,

[u'1 x Affinity for war', u'1 x Intellect', u'2 x Charisma', u'2 x Perception', u'3 x Population growth', u'4 x Affinity for the land', u'5 x Morale']

我目前正在尝试按进化名称而不是数字按字母顺序对其进行排序.有没有什么方法可以做到这一点,而不只是改变列表中出现的两个东西的顺序(如'intellect x 1')?



1> S.Lott..:

你必须从字符串中获取"密钥".

def myKeyFunc( aString ):
    stuff, x, label = aString.partition(' x ')
    return label

aList.sort( key= myKeyFunc )


您是否知道可以使用下划线来表示您不会使用的元组:`_,_,label = aString.partition('x')`

2> dF...:

怎么样:

lst.sort(key=lamdba s: s.split(' x ')[1])

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有