[問題] partition()去除delimiter及後char一問
大家好,
小魯python新手
想請教一個最近自己卡住的問題:
我有一個string object長得如下:
Mary,Watson
Jordon, Clinton
Sam, Peterson
逗號前的是first name
後為last name
我希望把他們分為:
first name
Mary
Jordon
Sam
last name
Watson
Clinton
Peterson
我試著用partition(',')
例如我的string檔名為name
我就用name.partition(',')
但output只給我Mary
想請教板上高手
我要怎麼做比較合適呢?
謝謝大家!
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 74.69.83.135 (美國)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1570531269.A.7D4.html
→
10/08 19:31,
4年前
, 1F
10/08 19:31, 1F
→
10/08 19:31,
4年前
, 2F
10/08 19:31, 2F
我的原始檔案是讀入一個text檔案
長得像:
Mary, Waltons W
Linda, Wu
大概是這樣 以上為虛構名字 不一定每一位都有middle name
所以讀入後 是一個string
我設定他為name
然後我使用:
entries = re.split("\n+", name)
entries成為一個list 長相如下:
['Mary, Waltons W', 'Linda, Wu',]
後面還有很多筆資料
因為我想要得到first_name一個list
middle_name一個list
last_name一個list
所以我想要把他們從delimiter=,切隔開
biglist=entries
smallerlist=[l.split(', ')for l in ', '.join(biglist).split(', ')]
print(smallerlist)
就是我想要的:
['Mary, Waltons W']['Linda, Wu']
但我現在想要做到:
first_name = Mary
Last_and_middle = Waltons W (然後後續再切割一次)
我用的是
for item in smallerlist:
result = [word for line in item for word in line.split()]
會得到:
['Mary,Waltons', 'W']
['Linda, Wu']
就是幫我把first_name, middle_name 和Last_name用comma隔開
但我接下來不是很確定要怎麼將三者分開成三個list
而且有些人沒有middle name要放' '
小魯很新手 不好意思問了基本的問題
希望有做過類似提目的大大幫忙解惑
謝謝了~感恩!
※ 編輯: AmigoSafin (74.69.83.135 美國), 10/09/2019 08:29:37
→
10/11 15:05,
4年前
, 3F
10/11 15:05, 3F
→
10/11 15:08,
4年前
, 4F
10/11 15:08, 4F
→
10/11 15:08,
4年前
, 5F
10/11 15:08, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):