在delimi加入python列表

2024-10-04 05:20:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有python列表,例如:

list = ['|','angela','demario','|','|','david','lucia','|','|','michael','jackson','|']

我希望输出列表是:

output_list = ['angela demario', 'david lucia', 'michael jackson']

那么,如何使用分隔符“|”拆分然后加入列表并获得所需的输出呢?你知道吗


Tags: 列表outputlistdavid分隔符michaeljacksonangela
2条回答

在空格上连接,然后在分隔符上拆分。剩下的只是清理,从结果中删除空字符串。你知道吗

[*filter(None, map(str.strip, ' '.join(yourlist).split('|')))] 
# ['angela demario', 'david lucia', 'michael jackson']

你可以给自己写一个生成函数:

lst = ['|','angela','demario','|','|','david','lucia','|','|','michael','jackson','|']

def make_list(iterable):
    stack, collect = [list(), False]
    for item in iterable:
        if item == "|" and not collect:
            collect = True
        elif item == "|" and collect:
            yield " ".join(stack)
            stack, collect = [list(), False]
        elif collect is not False:
            stack.append(item)

    if stack:
        yield " ".join(stack)


output_list = [item for item in make_list(lst)]
print(output_list)
# ['angela demario', 'david lucia', 'michael jackson']

把其他一切都放在一边,调用变量list总是个坏主意。你知道吗

相关问题 更多 >