У меня есть строка как,
subject_codes = "PTAQIFAIIAMRDGRVYLHPSNTPSTOPGCCRCRVFTLLRLPSGTFDESTTGWEKTSSLYHPGGNHTSTVSWWTILRKAAMGTGRLLLDEKEETPSTOPSCTHEVLGPTARCCSTOPYPIDEVNSTOPAFSTNRGCHQCCRRQFGVLGPHYVPSRREGKCKHLSTOPGLSPKDVLCWYFQSRPSGGSTOPLEELLPISVSPICSTOPNGGHRWEAYYQSTOPDQHLQETPWSLYLQEPGLIFQIIPDSWPPTLNTSISLYGEAMSTOPGEISSTOPEVSTOPGSCDFPSRSEGVTSQSTOPDGRGRLLHRSTOPKVPPLSCPTSTOPCRTFFHSTOPSTOPFGRLSTOPVLHLRRRECLRRSNINDSTOPGTREEVRYHGGDDPLGVYPTQYRPRNLEISLQGYPHSRRFLPSTOPTSYFRFSSTOPGTTWSHEGPSTOPRSHRSPTHVCCLEEKCPSTYGTLSTOPHSGSTOPNGQSTOPSPYRHCGSSMAADPAGTFGAHFKTHDVESPICVLQFSSAGSSLDGGHNDLQVQVVELRRSSILRFEGRDECSRYHLDSSPRETIPKGLWSTTKSLRSTOPLRNRSYWTSTOPRDRPPDGTTYSLAQRYHDGGTHGEAMSHSLEPLCGVLRVAQIQSSTOPVSTOPPGEPPSEALPYWGRSTOPSLSGRSPALSSTOPLYDKVPSSIWVPDRGWSTWYFPYSGTLRGESTVHREFLEEETPSTOPSQELSRIDDCGDHKGQNSSTOPTRISTSYYQRSTOPSTOPECCHRQVLDDISLFEVDAKTPTVARMAQTDDKRPIRVTNGGMATESPETSEVFQSTOPHHASQILRGLWLSHVRPRGIYGLYKSLPTIAVDYRRSLSTOPRPSTMEGRDQRTFPVKPEPLEERRHSTOPVSKVRTRHHSTOPTTHDGLESTOPSSELEATRREVSISSWSTRDSSRGPTGGLHVHKTICRSTOPGDTRCHFPKLSFGASSTOPDLQFQHSALSTOPKNYGDCVGKTGGPWHSTOPSTOPMLANLRFRRVSINEGSTOPSKRRFLLSTOPHPRDYLCRYRVLGPGSTOPSGDSTOPDLGVHSTOPCSTOPFSTOPETIHHESSNSQNSRSTOPIPLPFEESTOPRAILWGVQRTGHGSYGTGDIMSSTOPSPPVTTWLDYLFGFCRRRVPKEFHRQHHASEPTAQI"
и список подстрок как
category_codes = ["MRDGRVYLHPSNTPSTOP","MGTGRLLLDEKEETPSTOP","MSTOP","MAADPAGTFGAHFKTHDVESPICVLQFSSAGSSLDGGHNDLQVQVVELRRSSILRFEGRDECSRYHLDSSPRETIPKGLWSTTKSLRSTOP","MSHSLEPLCGVLRVAQIQSSTOP","MATESPETSEVFQSTOP","MAQTDDKRPIRVTNGGMATESPETSEVFQSTOP","MEGRDQRTFPVKPEPLEERRHSTOP","MLANLRFRRVSINEGSTOP","MSSTOP"]
Я хочу найти подстроки из списка в большую строку и измените соответствующие регистры на строчные в самой большой строке. Я знаю, как искать строку в другом, используя метод find()
, но я не могу придумать, как лучше заменить соответствующие подстроки в большей строке. Я ищу более чистый и эффективный в вычислительном отношении способ сделать это.
Желаемая строка вывода должна быть такой,
output = "PTAQIFAIIAmrdgrvylhpsntppstopGCCRCRVFTLLRLPSGTFDESTTGWEKTSSLYHPGGNHTSTVSWWTILRKAAMGTGRLL...."