2013-01-20 25 views
3

我需要一些关于排序2个列表的帮助。一个文件列表和一个目录列表。 这些列表是通过更大的脚本中的另一部分生成的,我无法在此处插入。在.sort期间忽略字符python

filelist = ['EN088_EFH_030_comp_v011.mov', 'EN086_EHA_010_comp_v031.mov', 'EN083_WDA_400_comp_v021.mov', 'EN086_EHA_020_comp_v010.mov', 'EN083_WDA_450_comp_v012.mov'] 

folderlist = ['[EN086_EHA_010_comp_v031]', '[EN083_WDA_400_comp_v021]', '[EN086_EHA_020_comp_v010]', '[EN083_WDA_450_comp_v012]'] 

使用.sort我可以得到这样的数据输出。

[CB083_WDA_400_comp_v021] 
[CB083_WDA_450_comp_v012] 
[CB086_EHA_010_comp_v031] 
[CB086_EHA_020_comp_v010] 
CB083_WDA_400_comp_v021.mov 
CB083_WDA_450_comp_v012.mov 
CB086_EHA_010_comp_v031.mov 
CB086_EHA_020_comp_v010.mov 
CB088_EFH_030_comp_v011.mov 

但我需要它输出这样的

[CB083_WDA_400_comp_v021] 
CB083_WDA_400_comp_v021.mov 
[CB083_WDA_450_comp_v012] 
CB083_WDA_450_comp_v012.mov 
[CB086_EHA_010_comp_v031] 
CB086_EHA_010_comp_v031.mov 
[CB086_EHA_020_comp_v010] 
CB086_EHA_020_comp_v010.mov 
CB088_EFH_030_comp_v011.mov 

我怎么能去排序,但排序过程中忽略了[]?
或者我会做什么来获得第二个输出?
我很害怕我应该做的事情。
任何提示或建议?

回答

11
....sort(key=lambda x: x.strip('[]')) 
+0

会从我的最终输出中删除[]吗?我需要保留括号。 – user1995322

+4

否;只是根据没有括号的字符串的版本对它们进行排序。 – Dougal

+0

感谢你们,我对python有点新鲜,并且仍然很感兴趣。 但是strip方法的功能是因为数据仍然有扩展它仍然导致数据排序错误。 我相信我可以让它忽略扩展一些如何在使用上述类似的方法进行排序时正确吗? – user1995322