2024-10-04 05:20:54 发布
网友
我有python列表,例如:
list = ['|','angela','demario','|','|','david','lucia','|','|','michael','jackson','|']
我希望输出列表是:
output_list = ['angela demario', 'david lucia', 'michael jackson']
那么,如何使用分隔符“|”拆分然后加入列表并获得所需的输出呢?你知道吗
在空格上连接,然后在分隔符上拆分。剩下的只是清理,从结果中删除空字符串。你知道吗
[*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总是个坏主意。你知道吗
list
在空格上连接,然后在分隔符上拆分。剩下的只是清理,从结果中删除空字符串。你知道吗
你可以给自己写一个生成函数:
把其他一切都放在一边,调用变量
list
总是个坏主意。你知道吗相关问题 更多 >
编程相关推荐