Re: 刪除類似資料

作者: LP9527 (ㄊㄇ抽菸都去)   2021-03-13 04:23:59
png = '''10day.png
20day.png
20day-1.png
30day.png
40day.png
40day-1.png
40day-2.png'''.split('\n')
dic = {}
for p in png:
....prefix = p.split('day')[0]
....suffix = int(p.split('day')[-1].replace('.png', '').replace('-', '') or 0)
....dic[prefix] = max(dic.get(prefix, 0), suffix)
print(dic)
# {'10': 0, '20': 1, '30': 0, '40': 2}
res = [f'{k}day'+(f'-{v}' if v else '') + '.png' for k, v in dic.items()]
print(res)
# ['10day.png', '20day-1.png', '30day.png', '40day-2.png']
我會這樣做 給你參考
※ 引述《tzouandy2818 (Naked Bear)》之銘言:
: ※ 引述《crm123 (CRM)》之銘言:
: : 小弟用list裝資料 資料內容類似如下
: : 10day.png
: : 20day.png
: : 20day-1.png
: : 30day.png
: : 40day.png
: : 40day-1.png
: : 40day-2.png
: : 想要做到能夠刪除類似資料(開頭的10、20)
: : 然後重複的(20兩筆留-1的、40留-2)
: : 想問有沒有什麼方法能夠達到
: : 謝謝
: :
作者: tzouandy2818 (Naked Bear)   2021-03-13 19:41:00
其實我是不知道他要處理的資料到底是檔名還是檔案內容 才會用dict的方式 key放檔名 value放檔案內容
作者: crm123 (CRM)   2021-03-13 19:43:00
png就是副檔名了 主要是要判斷檔名有沒有- 有的話就找數字最高的 其他剔除
作者: tzouandy2818 (Naked Bear)   2021-03-14 00:13:00
我跟他的寫法在副檔名的部分都沒問題啊我是說 不知道你在list裡要放的資料到底是xxxx.png這個檔名 還是xxxx.png這張圖片
作者: crm123 (CRM)   2021-03-14 10:14:00
放檔名而已

Links booklink

Contact Us: admin [ a t ] ucptt.com