因此,我尝试使用来自this问题的代码,它起了作用,但我正在将一个文本文件导入到一个列表中,它似乎没有对它进行排序。你知道吗
这是我的密码:
import re
key_pat = re.compile(r"^(\D+)(\d+)$")
def key(item):
m = key_pat.match(item)
return m.group(1), int(m.group(2))
data=[line.strip() for line in open('DieGameScores.txt')]
data.sort( key=key )
print(data)
结果如下:
['tr35', 'nk32', 'ms49', 'mg41', 'jw40', 'jo13']
但我想让它输出这个:
['ms49', 'mg41', 'jw40', 'tr35', 'nk32', 'jo13']
有人知道怎么解决这个问题吗?你知道吗
你的剧本,在线
调用在名称键下定义的函数作为某种排序条件。然而,这并不是你的关键职能部门的职责。你知道吗
也就是说,稍微修改一下就可以了。首先介绍:
然后像你那样给sort打电话:
这一次,您使用的键将焦点放在字符串末尾的int作为排序标准,使用reverse=True参数可以得到您似乎一直在尝试得到的结果。你知道吗
如果需要按int排序的列表,这是一种方法
例如:
输出:
如果要先按数字排序,然后按字符串部分排序-需要反转键函数中的返回值-
然后,由于需要按降序排列,因此需要指定相反的参数
相关问题 更多 >
编程相关推荐