Python中文
首页
教程
问答
标签
搜索
登录
注册
如何使用字符串和数字对列表排序(外部文本文件)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>因此,我尝试使用来自<a href="https://stackoverflow.com/a/4318182/9982163">this</a>问题的代码,它起了作用,但我正在将一个文本文件导入到一个列表中,它似乎没有对它进行排序。你知道吗</p> <p>这是我的密码:</p> <pre><code>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) </code></pre> <p>结果如下:</p> <p><code>['tr35', 'nk32', 'ms49', 'mg41', 'jw40', 'jo13']</code></p> <p>但我想让它输出这个:</p> <p><code>['ms49', 'mg41', 'jw40', 'tr35', 'nk32', 'jo13']</code></p> <p>有人知道怎么解决这个问题吗?你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果要先按数字排序,然后按字符串部分排序-需要反转键函数中的返回值-</p> <pre><code>return int(m.group(2)), m.group(1) </code></pre> <p>然后,由于需要按降序排列,因此需要指定相反的参数</p> <pre><code>data.sort(key=key, reverse=True) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何合并多个PDF文件?
3 回答
如何合并多个xarray数据变量及其坐标?
5 回答
如何合并多个列中具有重复值的行
10 回答
如何合并多个唯一id
3 回答
如何合并多个图纸并使用图纸名称的名称重命名列名?
6 回答
如何合并多个字典并添加同一个键的值?(Python)
10 回答
如何合并多个搜索结果文件(pkl)以将它们全部打印在一起?
1 回答
如何合并多个数据帧
5 回答
如何合并多个数据帧并使用Pandas为假人添加列?
9 回答
如何合并多个数据帧并按时间戳排序
4 回答
如何合并多个数据帧的列表并用另一个lis标记每列
1 回答
如何合并多个数据框中的列
3 回答
如何合并多个文件?
1 回答
如何合并多个查询集?
7 回答
如何合并多个绘图?
2 回答
如何合并多个词典
6 回答
如何合并多个输入数据集(数据帧)?
10 回答
如何合并多条记录中拆分的文本行
3 回答
如何合并多索引列datafram
8 回答
如何合并多级(即多索引)数据帧?
2 回答