我有python列表,例如:
list = ['|','angela','demario','|','david','lucia','michael','jackson','|']
我希望输出列表为:
output_list = ['angela demario','david lucia','michael jackson']
那么我如何使用定界符'|'拆分然后加入列表并获得我想要的输出?
我有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,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','michael jackson']
抛开其他所有内容,调用变量list
总是一个坏主意。