ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python 文件名排序(排了sorted排不了的正是我natsorted哒!)

2021-07-02 11:04:29  阅读:313  来源: 互联网

标签:11 10 ft Python natsorted sorted 排序


Python 文件名排序

使用natsort包的natsorted方法

from natsort import natsorted

官方说明中有提到

natsort provides a function natsorted that helps sort lists “naturally” (“naturally” is rather ill-defined, but in general it means sorting based on meaning and not computer code point).
natsort 提供一个 natsorted 函数,这个函数可以自然的排列列表(“自然”的定义是不明确的,但是他会根据一定的含义进行排序,而不只是根据计算机代码)

>> from natsort import natsorted
>> a = ['2 ft 7 in', '1 ft 5 in', '10 ft 2 in', '2 ft 11 in', '7 ft 6 in']
>> natsorted(a)
['1 ft 5 in', '2 ft 7 in', '2 ft 11 in', '7 ft 6 in', '10 ft 2 in']

Note: natsorted is designed to be a drop-in replacement for the built-in sorted function. Like sorted, natsorted does not sort in-place. To sort a list and assign the output to the same variable, you must explicitly assign the output to a variable
注意:natsorted 被设计为内置 sorted 函数的替代品。像 sorted 一样,natsorted 不会就地排序。要对列表进行排序并将输出分配给同一个变量,您必须将输出显式分配给一个变量

>> a = ['2 ft 7 in', '1 ft 5 in', '10 ft 2 in', '2 ft 11 in', '7 ft 6 in']
>> natsorted(a)
['1 ft 5 in', '2 ft 7 in', '2 ft 11 in', '7 ft 6 in', '10 ft 2 in']
>> print(a)  # 'a'并没有被排序;"natsorted"只是简单的返回了一个列表
['2 ft 7 in', '1 ft 5 in', '10 ft 2 in', '2 ft 11 in', '7 ft 6 in']
>> a = natsorted(a)  # 现在'a'将会被排序,因为将排序过的'a'赋值给了'a'
>> print(a)
['1 ft 5 in', '2 ft 7 in', '2 ft 11 in', '7 ft 6 in', '10 ft 2 in']

标签:11,10,ft,Python,natsorted,sorted,排序
来源: https://www.cnblogs.com/newchan/p/14962223.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有