抱歉无聊的问题,但我无法弄明白:
for f in sorted(os.listdir('.')): print f
输出:
p1.html
p10.html
p11.html
p12.html
p13.html
p14.html
p15.html
p16.html
p17.html
p18.html
p19.html
p2.html
p20.html
p21.html
p22.html
p3.html
p4.html
...
显然我希望按数字排序,我可以使用此键进行排序:f.split('.')[0][1:]
但是如何在此for循环中引用该键?
我尝试了for f in sorted(os.listdir('.'), key=f.split('.')[0][1:])
,但当然不起作用
TIA
答案 0 :(得分:1)
你需要一个lambda表达式:
sorted(os.listdir('.'), key=lambda f: int(f.split('.')[0][1:]))