gpt4 book ai didi

python - 以数字方式对字符串列表进行排序

转载 作者:行者123 更新时间:2023-12-04 23:12:40 24 4
gpt4 key购买 nike

我有一个包含我的文件名的字符串列表:

flist = ['0.png','10.png', '3.png', '4.png', '100.png']
flist.sort()
print(flist)

输出:
['0.png', '10.png', '100.png', '3.png', '4.png']

但我想要:
['0.png', '3.png', '4.png', '10.png', '100.png']

有没有一种简单的方法可以做到这一点?

最佳答案

是的:

flist.sort(key=lambda fname: int(fname.split('.')[0]))

说明:字符串按词法排序,所以 "10"来之前 "3" (因为 "1" < "3" ,所以在第一个字符串中 "1" 之后的任何内容都被忽略)。所以我们使用 list.sort()key参数是一个回调函数,它接受一个列表项并返回用于排序该项的值 - 在您的情况下,是从文件名的第一部分构建的整数。这样,列表就按数值正确排序。

关于python - 以数字方式对字符串列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com