我有一个字符串列表。我想根据数字(由元素表示)和元素的长度对该列表进行排序。
19206_63083.png必须在1019209_63119.png之前
mylist.sort(key=lambda x: x.split("_",)[0])
这不起作用。 10163841_15591.png在1882828_15293.png之前。但是不应该这样,因为下划线之前的第一部分实际上是一个较大的数字。
我想要的输出是这样的:
my_list = [19206_63083.png,
75131_63085.png,
129899_63087.png,
185747_63089.png,
240948_63091.png,
296626_63093.png,
351670_63095.png,
407945_63097.png,
463197_63099.png,
518738_63101.png,
577527_63103.png,
629717_63105.png,
686448_63107.png,
741521_63109.png,
796843_63111.png,
852569_63113.png,
907921_63115.png,
962966_63117.png,
1019209_63119.png,
1073904_63121.png,
1129968_63123.png,
1185872_63125.png,
1241292_63127.png,
1297920_63129.png,
1353177_63131.png,
1408595_63133.png,
1463281_63135.png,
1519764_63137.png,
1630077_63141.png,
1686200_63143.png,
1797925_63147.png,
1909026_63151.png,
2019367_63155.png,
2185323_63161.png,
2241858_63163.png,
2352508_63167.png,
2408718_63169.png,
2464518_63171.png,
2576205_63175.png,
2685535_63179.png,
2741758_63181.png,
2853860_63185.png,
2963621_63189.png,
3074643_63193.png,
3130612_63195.png,
3241831_63199.png,
3299111_63201.png,
...
50675605_17049.png,
50731840_17051.png,
50786088_17053.png,
50842895_17055.png,
50898226_17057.png,
50952973_17059.png,
51010247_17061.png,
51064070_17063.png,
51120808_17065.png]
答案 0 :(得分:0)
您需要将“-”替换为“ _”
并且如上面的注释所述,您需要将其包装在
中int()