遍历列表并拆分为一维列表

use*_*291 1 python regex

我试图遍历 python 中的列表并根据字符拆分单词。我想返回一个 1 维列表作为结果。

例子

wordlist = ['border\collie', 'dog\cat', 'horse\hound'] # slash fix
Run Code Online (Sandbox Code Playgroud)

预期结果 new_list = ['border', 'collie', 'dog', 'cat', 'horse', 'hound']

我尝试过的一切都会产生一个二维列表。

def split_slash_words(text):
    new_list = []
    new_list.append([i.split("\\") for i in text])
    return new_list

Run Code Online (Sandbox Code Playgroud)

返回一个二维数组,我也不能重新拆分 new_list (因为它是列表类型)

Zar*_*chi 5

import re
wordlist = ['border/collie', 'dog\cat', 'horse/hound']

out = []
for item in wordlist:
    for element in re.findall('\w+', item):
        out.append(element)
Run Code Online (Sandbox Code Playgroud)

输出:

['border', 'collie', 'dog', 'cat', 'horse', 'hound']
Run Code Online (Sandbox Code Playgroud)

  • 这可能会引发 IndexError 异常 (2认同)