【发布时间】:2012-08-13 21:56:03
【问题描述】:
所以前段时间我在这里问了这个问题:Sorting lists in python
我这里有这段代码:
def sort(names, rank):
lst=[]
for x in range(0, len(names)):
lst.append((int(rank[x]), names[x]))
lst.sort(key=lambda x: (-x[0],len(x[1])) )
newArr = []
for z in range(0, len(lst)):
row = lst[z]
newArr.append(row[1] + " " + str(row[0]))
return newArr
但我还需要对名称进行更多排序,如果名称的长度相同,我需要以大写字母排在第一位。有什么想法吗?
【问题讨论】:
-
给您的风格提示:将
for z in range(0, len(lst))替换为for row in lst。更简单,更易读。 -
是的,我已经开始这样做了 xD