赞
踩
语法
list.sort(cmp=None, key=None, reverse=False)
参数
输出
aList = ['123', 'Google', 'Runoob', 'Taobao', 'Facebook'];
aList.sort();
print(aList)
['123', 'Facebook', 'Google', 'Runoob', 'Taobao']
vowels = ['e', 'a', 'u', 'o', 'i']
# 降序
vowels.sort(reverse=True)
# 输出结果
print('降序输出:')
print( vowels )
降序输出:
['u', 'o', 'i', 'e', 'a']
# 获取列表的第二个元素
def takeSecond(elem):
return elem[1]
# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)
# 输出类别
print('排序列表:')
print(random)
排序列表:
[(4, 1), (2, 2), (1, 3), (3, 4)]
items = [(1, 'B'), (1, 'A'), (2, 'A'), (0, 'B'), (0, 'a')]
items.sort()
print(items)
[(0, 'B'), (0, 'a'), (1, 'A'), (1, 'B'), (2, 'A')]
链接:https://leetcode-cn.com/problems/reorder-data-in-log-files/
给你一个日志数组 logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 。
有两种不同类型的日志:
所有 字母日志 都排在 数字日志 之前。
输入:logs = [“dig1 8 1 5 1”,“let1 art can”,“dig2 3 6”,“let2 own kit dig”,“let3 art zero”]
输出:[“let1 art can”,“let3 art zero”,“let2 own kit dig”,“dig1 8 1 5 1”,“dig2 3 6”]
解释:
字母日志的内容都不同,所以顺序为 “art can”, “art zero”, “own kit dig” 。
数字日志保留原来的相对顺序 “dig1 8 1 5 1”, “dig2 3 6” 。
输入:logs = [“a1 9 2 3 1”,“g1 act car”,“zo4 4 7”,“ab1 off key dog”,“a8 act zoo”]
输出:[“g1 act car”,“a8 act zoo”,“ab1 off key dog”,“a1 9 2 3 1”,“zo4 4 7”]
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
def trans(log: str) -> tuple:
a, b = log.split(' ', 1) # a:标识符, b:标识符以外的内容
return (0, b, a) if b[0].isalpha() else (1,) # 首先按0,1排序,是字母,即0时,按b排序,b相等时按a排序
logs.sort(key=trans)
return logs
item.sort()
new_item = sorted(item)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。