如何用python分割一个元素并替换列表中的两个部分

Art*_*hur 2 python indexing replace list

我有一个类似的列表:

\n
mylist = ['La', 'domestication', "d'un", 'animal', 'ou', "d'un", 'v\xc3\xa9g\xc3\xa9tal,', 'necessite', "l'acquisition", "d'une", 'ferme']\n
Run Code Online (Sandbox Code Playgroud)\n

我想拆分具有“ ”的元素 ”的元素拆分为 2 个元素,并将它们的索引保留在原始列表中。

\n
OUTPUT REQUESTED : my_new_list = ['La', 'domestication', "d'" ,'un', 'animal', 'ou', "d'", 'un', 'v\xc3\xa9g\xc3\xa9tal,', 'necessite', "l'", 'acquisition', "d'", 'une', 'ferme']\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了一些东西,但我承认我不得不在正确的索引中替换两个新的分割元素,这是我尝试过的代码:

\n
for word in mylist:\n    if "'" in word:\n        new_words = word.split("'")\n        mylist[mylist.index(word)] = (new_words[0]+"'")\n        mylist.insert(mylist.index((new_words[0]+"'")+1), new_words[1]) \n\nprint(mylist)\n
Run Code Online (Sandbox Code Playgroud)\n

感谢您的时间和帮助:)

\n

Nic*_*ick 7

假设您对创建新列表感到满意,实现此目的的一种方法是将现有列表与空格连接在一起,然后按空格或 进行拆分\'

\n
import re\n\nmylist = [\n \'La\', \'domestication\', "d\'un",\n \'animal\', \'ou\', "d\'un", \'v\xc3\xa9g\xc3\xa9tal,\',\n \'necessite\', "l\'acquisition",\n "d\'une", \'ferme\'\n]\n\nmy_new_list = re.split(r" |(?<=\')", \' \'.join(mylist))\n
Run Code Online (Sandbox Code Playgroud)\n

输出:

\n
[\n \'La\', \'domestication\', "d\'", \'un\',\n \'animal\', \'ou\', "d\'", \'un\', \'v\xc3\xa9g\xc3\xa9tal,\',\n \'necessite\', "l\'", \'acquisition\',\n "d\'", \'une\', \'ferme\'\n]\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,这假设列表中的单词中没有空格;如果可能的话,您可以将代码中的空格替换为单词中未出现的字符(或字符序列),例如\\0

\n
my_new_list = re.split(r"\\0|(?<=\')", \'\\0\'.join(mylist))\n
Run Code Online (Sandbox Code Playgroud)\n