python - 按字符串的一部分对字符串列表进行排序

标签 python string list sorting

我有一个字符串列表,格式如下:

['variable1 (name1)', 'variable2 (name2)', 'variable3 (name3)', ...]

...我想根据 (nameX) 部分按字母顺序对列表进行排序。我该怎么做呢?

最佳答案

要更改排序键,请使用 the key parameter :

>>>s = ['variable1 (name3)', 'variable2 (name2)', 'variable3 (name1)']
>>> s.sort(key = lambda x: x.split()[1])
>>> s
['variable3 (name1)', 'variable2 (name2)', 'variable1 (name3)']
>>> 

sorted 的工作方式相同:

>>>s = ['variable1 (name3)', 'variable2 (name2)', 'variable3 (name1)']
>>> sorted(s)
['variable1 (name3)', 'variable2 (name2)', 'variable3 (name1)']
>>> sorted(s, key = lambda x: x.split()[1])
['variable3 (name1)', 'variable2 (name2)', 'variable1 (name3)']
>>> 

请注意,如问题中所述,这将按字母顺序排序,因此对于 2 位数字的组件,它不会将它们解释为数字,例如“11”将排在“2”之前。

关于python - 按字符串的一部分对字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21431052/

相关文章:

python - "if n"是什么意思?

html - 固定位置第一个列表项,滚动条自动调整宽度

python - 在元组数组中搜索值非常慢

Python:将字符串拆分为单词,保存分隔符

python - Django 密码重置与应用程序名称

python - C Python API Extensions 忽略了 open(errors ="ignore") 并一直抛出编码异常

php - 匹配包含两个 "needles"的字符串

c - 如何从文件中读取字符直到一个空格并将其存储为一个字符串(c)?

c++ - 如何测量非ASCII字符的正确大小?

c - 在c中打印链表