Python 按特定单词和字母顺序排序

Python 按特定单词和字母顺序排序,python,python-2.7,sorting,Python,Python 2.7,Sorting,我正在使用python 2.7。我有一个要排序的应用程序列表。 我的问题是:我有一个特定的词,我需要在列表的顶部,然后剩下的词就会出现 我的清单如下: Appname1 Appname2 Appname2Bootstrap Appname3 Appname3Bootstrap 现在我用这个代码按字母顺序排序 with open(filename) as sortedFile: sortedFile = sortedFile.readlines() sortedFile.sor

我正在使用python 2.7。我有一个要排序的应用程序列表。 我的问题是:我有一个特定的词,我需要在列表的顶部,然后剩下的词就会出现

我的清单如下:

  • Appname1
  • Appname2
  • Appname2Bootstrap
  • Appname3
  • Appname3Bootstrap
现在我用这个代码按字母顺序排序

with open(filename) as
sortedFile:
    sortedFile = sortedFile.readlines()
    sortedFile.sort()
我不知道如何首先使用“Boostrap”一词对其进行排序。

根据不同的问题,您可以为要排序的键设置一个函数:

from __future__ import print_function

items = ['Appname1', 'Appname2', 'Appname2Bootstrap', 'Appname3', 'Appname3Bootstrap']
items_sorted = sorted(items, key=lambda x: (not x.endswith('Bootstrap'), x))

print('Got the sorted items: {}'.format(items_sorted))

这将把带有“Bootstrap”的两项放在排序列表的开头。

您的预期输出是什么?您可以编写一个自定义排序函数并将其作为参数传递,请参阅:我的预期输出是:*Appname2Bootstrap*Appname3Bootstrap*Appname1*Appname2*Appname3