Sort a list of strings
本问题已经有最佳答案,请猛点这里访问。
我有一个字符串列表,我想按每个字符串的第二个元素排序。
这是我的代码:
1 2 3 4 5 6 7 | import sys line ="" for n in [line for line in sys.stdin.readlines()]: list = [] list = n print list.split() |
输出:
1 2 3 4 | ['qlwekjrwer', '0'] ['sdlkfsdf', '6245'] ['lkdjfs', '3985'] ['sdfsdfs', '4085'] |
我想要做的是按照列表中每个字符串的第二个元素以降序排序。我知道您将不得不以某种方式使用" list.split()[1]",但我不知道从哪里开始。
我想要什么:
1 2 3 4 | ['sdlkfsdf', '6245'] ['sdfsdfs', '4085'] ['lkdjfs', '3985'] ['qlwekjrwer', '0'] |
我是否必须实施一些冒泡排序?
使用sorted()函数:
1 2 | result = sorted([l.split() for l in sys.stdin.readlines()], key=lambda l: int(l[1]), reverse=True) print(result) |
输出:
1 | [['sdlkfsdf', '6245'], ['sdfsdfs', '4085'], ['lkdjfs', '3985'], ['qlwekjrwer', '0']] |