簡體   English   中英

Python Function 根據字符串中的數字將一項列表拆分為多項列表

[英]Python Function to split one-item list into multi-item list based on number in string

我有這個 1 項清單

['1Mike TroutLAA2Byron BuxtonMIN3Yermin MercedesCHW4Jesse WinkerCIN5Jared WalshLAA6Xander BogaertsBOS7J.D. MartinezBOS8Vladimir Guerrero Jr.TOR9Justin TurnerLAD0Ronald Acuna Jr.ATLNick CastellanosCIN2Michael BrantleyHOU3Austin RileyATL4Yuli GurrielHOU5Kris BryantCHC6Nelson CruzMIN7Cedric MullinsBAL8Raimel TapiaCOL9Brandon NimmoNYM20Bryce HarperPHI2Corey DickersonMIA22Luis RobertCHW23Matt OlsonOAK24Yordan AlvarezHOU24Nick MadrigalCHW26J.T. RealmutoPHI27Trea TurnerWSH28Alex VerdugoBOS29Eric HosmerSD30David PeraltaARI3Randal GrichukTOR32Jesus AguilarMIA33Adam FrazierPIT34Nick SolakTEX35Luis ArraezMIN36Joey WendleTB37C.J. CronCOL38Colin MoranPIT39Tommy EdmanSTL40Alex BregmanHOU40Bryan ReynoldsPIT42Trevor StoryCOL43Carlos CorreaHOU44Rafael DeversBOS45Aaron JudgeNYY46Carlos SantanaKC46Jose RamirezCLE48Franmil ReyesCLE49Jeimer CandelarioDET50Isiah Kiner-FalefaTEX']

我想把它轉換成一個 50 項的列表,每個數字都有分隔符。

所以我想最終得到類似的東西:

['1Mike TroutLAA' , '2Byron BuxtonMIN', '3Yermin MercedesCHW', '4Jesse WinkerCIN' .........]

我知道可能有一個列表理解解決方案,有人可以很快回答。 謝謝閱讀

你可以在這里使用re.findall

inp = '1Mike TroutLAA2Byron BuxtonMIN3Yermin MercedesCHW4Jesse WinkerCIN5Jared WalshLAA6Xander BogaertsBOS7J.D. MartinezBOS8Vladimir Guerrero Jr.TOR9Justin TurnerLAD0Ronald Acuna Jr.ATLNick CastellanosCIN2Michael BrantleyHOU3Austin RileyATL4Yuli GurrielHOU5Kris BryantCHC6Nelson CruzMIN7Cedric MullinsBAL8Raimel TapiaCOL9Brandon NimmoNYM20Bryce HarperPHI2Corey DickersonMIA22Luis RobertCHW23Matt OlsonOAK24Yordan AlvarezHOU24Nick MadrigalCHW26J.T. RealmutoPHI27Trea TurnerWSH28Alex VerdugoBOS29Eric HosmerSD30David PeraltaARI3Randal GrichukTOR32Jesus AguilarMIA33Adam FrazierPIT34Nick SolakTEX35Luis ArraezMIN36Joey WendleTB37C.J. CronCOL38Colin MoranPIT39Tommy EdmanSTL40Alex BregmanHOU40Bryan ReynoldsPIT42Trevor StoryCOL43Carlos CorreaHOU44Rafael DeversBOS45Aaron JudgeNYY46Carlos SantanaKC46Jose RamirezCLE48Franmil ReyesCLE49Jeimer CandelarioDET50Isiah Kiner-FalefaTEX'
output = re.findall(r'\d+.*?(?=\d+|$)', inp)
print(output)

這打印:

['1Mike TroutLAA', '2Byron BuxtonMIN', '3Yermin MercedesCHW', '4Jesse WinkerCIN',
 ...
 '49Jeimer CandelarioDET', '50Isiah Kiner-FalefaTEX']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM