我有一个包含如下链接的列表:
my_list = ['google.com', 'wikipedia.org/musics', 'facebook.com', 'wikipedia.org/Elon_Musk', 'fb.com']
我想通过将包含单词"wikipedia“的urls放在第一位来对此列表进行排序,如下所示:
my_list = ['wikipedia.org/Elon_Musk', 'wikipedia.org/musics', 'facebook.com', 'google.com', 'fb.com']
谢谢,
发布于 2018-06-11 07:38:17
如果你也想对维基百科进行排序
my_list = ['google.com', 'wikipedia.org/musics', 'facebook.com', 'wikipedia.org/Elon_Musk', 'fb.com']
list(sorted(my_list, key=lambda e: "00"+e if "wikipedia" in e else e))
发布于 2018-06-11 07:33:15
试试这个:
my_list = ['google.com', 'wikipedia.org/musics', 'facebook.com', 'wikipedia.org/Elon_Musk', 'fb.com']
print(list(reversed(sorted(sorted(my_list,key=lambda x: 'wikipedia' not in x),key=lambda x: len(x)))))
输出:
['wikipedia.org/Elon_Musk', 'wikipedia.org/musics', 'facebook.com', 'google.com', 'fb.com']
发布于 2018-06-11 07:35:59
另一种方法(只需记住过滤功能):
my_list = ['google.com', 'wikipedia.org/musics', 'facebook.com', 'wikipedia.org/Elon_Musk', 'fb.com']
new_list = list(filter(lambda x: 'wikipedia' in x, my_list))+list(filter(lambda x: 'wikipedia' not in x, my_list))
https://stackoverflow.com/questions/50788921
复制相似问题