2013-01-20 29 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