我有目錄的排序列表:刪除多個列表元素(子)
lst :=
./C01
./C01/BOOST
./C01/BOOST/src
./C01/BOOST/src/template
./C01/EmployeeAdmin
./Spheres
./db01/src/scottlib # added later
./db03
./db03/src
./db03/src/examples
./db03/src/exercises
./txt2bmp
./txt2bmp/data
./txt2bmp/docs
./txt2bmp/tests
./txt2bmp/txt2bmp
./txt2bmp_COPYED
./txt2bmp_COPYED/data
./txt2bmp_COPYED/docs
./txt2bmp_COPYED/tests
./txt2bmp_COPYED/txt2bmp
./txt2bmp_cpp
./txt2bmp_cpp/doc
我試圖刪除所有子文件夾 - 如果存在的話 - ,但我無法做到這一點的一種不錯的pythonic方式。我與循環做到了,但是這是一個長期的,醜陋的和高深莫測的解決方案... 刪除後的名單應顯示是這樣的:
lst2 :=
./C01
./Spheres
./db01/src/scottlib
./db03
./txt2bmp
./txt2bmp_COPYED
./txt2bmp_cpp
下一行是命令我試圖修改很多方面,但沒有成功...
[ i for i in lst if not i.startswith(lst[0])]
也許你有一個想法,以優雅的方式解決這個問題?
使用're'模塊(正則表達式)可以快速輕鬆地使用pa ttern like'\ ./ \ w + $' – ryugie
你想要刪除子文件夾還是隻從列表中刪除它們? –
對不起,我只想從列表中刪除它們。 – Chris