相关疑难解决方法(0)

如何在Python中对节号列表进行排序?

书籍部分通常编号为x.x.x,例如1.2.3.如何对节号列表进行排序?

将部分编号存储为字符串列表.

# a list of strings, section numbers
ls = ['1.1', '1.10', '1.2', '1.2.3', '1.2.1', '1.9']    

lists = sorted([s.split('.') for s in ls], key=lambda x:map(int, x))    
# [['1', '1'], ['1', '2'], ['1', '2', '1'], ['1', '2', '3'], ['1', '9'], ['1', '10']]

r = ['.'.join(sublist) for sublist in lists]    
#['1.1', '1.2', '1.2.1', '1.2.3', '1.9', '1.10']
Run Code Online (Sandbox Code Playgroud)

但是,我期待的结果是,

['1.1', '1.10', '1.2', '1.2.1', '1.2.3', '1.9']
Run Code Online (Sandbox Code Playgroud)

python sorting list

3
推荐指数
2
解决办法
540
查看次数

标签 统计

list ×1

python ×1

sorting ×1