我有这个清单:
['ammassuladu', 'papa', 'tintola (Alghero)', 'viri, b?vere', "'acha", "'arzola", "'ccetta", "'eneru", "'enucru", "'enucr u", "'erru", "'estire", "'estire", "'ichu", "'ichumurisca", "'idru", "'inu", 'cherjere', 'mariane', 'mrex?ni', 'matxoni (Alghero)', 'bolta, borta', 'cociula', 'rem?liu', 'molinana', 'v?rtitxe (Alghero)', 'vot?i, bot?re, vot?re', 'trimizon e', 'vulc?nu, vurcanu', 'sbori?i, ibboidare, sbuid?i', 'txapar (Alghero), cav? (Tabarchino)', 'taffaranu, tafferanu', 'safiru', 'butirera, butirrera, bitu?ra', 'tzintzalu, tzintzula, tintula', 's?nciu, sinsulu, sintzu, sintzula', 'marr a', 'marrare', 'zia', 'tia', 'tzia, cia', 'ziz?', 'lamparaxu', 'orgiali, orxali, orxabi', 'zingaru, zinganu', 'ziu', 't io', 'tiu, tziu', 'tuche, tughe', 'bachi?na, baghiana, bagiana, baiana, vagghiana', 'citiri (stare zitto)', 'carabassa', 's?cura (Alghero)', 'zucchinu', 'cruccuriga', 'm?idare, muidare, muitare']
我的任务:删除括号中的单词,并将包含逗号的项目分成单独的单词.
我为它做了一个简单的循环(dialettando_tokens是列表):
string = " ".join(dialettando_tokens) dialettando = string.split() for word in dialettando: if '(' in word or ')' in word: dialettando.remove(word) elif ',' in word: dialettando.remove(word) dialettando.append(word[:-1]) print(dialettando)
输出:
['ammassuladu', 'papa', 'tintola', 'viri,', 'b?vere', "'acha", "'arzola", "'ccetta", "'eneru", "'enucru", "'enucru", "'e rru", "'estire", "'estire", "'ichu", "'ichumurisca", "'idru", "'inu", 'cherjere', 'mariane', 'mrex?ni', 'matxoni', 'bolt a,', 'borta', 'cociula', 'rem?liu', 'molinana', 'v?rtitxe', 'vot?i,', 'vot?re', 'trimizone', 'vurcanu', 'ibboidare,', 's buid?i', 'txapar', 'cav?', 'taffaranu,', 'tafferanu', 'safiru', 'butirrera,', 'bitu?ra', 'tzintzula,', 'tintula', 'sinsu lu,', 'sintzula', 'marra', 'marrare', 'zia', 'tia', 'cia', 'ziz?', 'lamparaxu', 'orxali,', 'orxabi', 'zinganu', 'ziu', ' tio', 'tziu', 'tughe', 'baghiana,', 'baiana,', 'vagghiana', 'citiri', **'zitto)'**, 'carabassa', 's?cura', 'zucchinu', 'cruc curiga', 'muidare,', 'muitare', 'bot?re', 'vulc?nu', 'sbori?i', 'butirera', 'tzintzalu', 's?nciu', 'sintzu', 'tzia', 'or giali', 'zingaru', 'tiu', 'tuche', 'bachi?na', 'bagiana', 'm?idare']
你可以看到它删除了除"zitto"之外的所有不必要的项目,我不知道为什么.
dialettando
在迭代时修改列表.这会给你意想不到的结果.
相反,迭代它的副本,如下所示:
for word in dialettando[:]: