[問題] list中每個字串截取的問題

作者: eco100 ( )   2020-06-01 16:40:29
不好意思 自己並非python的使用者 但因為要改python的程式
所以問的問題有點基本
例如我有一個list
names = ['A12.txt', 'B34.txt', 'C45.txt']
我要變成
names = ['A12', 'B34', 'C45']
我試著用 names.partition('.')[0] 但partition似乎不能用在list上
有什麼快速的方式呢? 謝謝!
作者: Yshuan (倚絃)   2020-06-01 16:52:00
寫for-in去iterate或用list comprehensionnew_names = [s.partition('.')[0] for s in names]
作者: pmove (金疾檸檬)   2020-06-01 17:00:00
如後面一定是.txt結尾,可以從-5位子開始抓
作者: aidansky0989 (alta)   2020-06-01 17:33:00
寫一個正則
作者: OrzOGC (洞八達人.拖哨天王)   2020-06-01 20:14:00
regex有規律的話同2f用slice [0:-5]-4才對...XD
作者: cuteSquirrel (松鼠)   2020-06-01 20:23:00
作者: alvinlin (林矜業)   2020-06-01 21:52:00
list(map(lambda x: os.path.splitext(x)[0], names))names = list(map(lambda x: os.path.splitext(x)[0],names))用splitext比較準確或 names = [ os.path.splitext(i)[0] for i in names ]也一樣
作者: eco100 ( )   2020-06-02 09:26:00
感謝!
作者: s860134 (s860134)   2020-06-02 09:32:00
印象 split ext實作也是split('.')[:-1]
作者: alvinlin (林矜業)   2020-06-02 10:33:00
但是檔名裡可以有多個'.'所以會有問題吧

Links booklink

Contact Us: admin [ a t ] ucptt.com