我的列表如下:
['aaa > bbb', 'ccc > ddd', 'eee > ']
我希望拆分列表以得到以下结果,结尾处有一个空字符串元素
['aaa', 'bbb', 'ccc', 'ddd', 'eee','']
我尝试了以下代码
for element in list:
list.append(element.split(' > '))
我得到的答案如下:
[['aaa', 'bbb'], ['ccc', 'ddd'], ['eee','']]
思考之后,我看到了它应该工作的样子。因此,我如何才能实现自己的目标。
答案 0 :(得分:1)
尝试一下:
for element in list:
list.extend(element.split(' > '))
来自docs:
list.extend(iterable)
Extend the list by appending all the items from the iterable. Equivalent to a[len(a):] = iterable.
答案 1 :(得分:1)
您可以使用列表理解:
l = ['aaa > bbb', 'ccc > ddd', 'eee > ']
[item.strip() for sublist in [element.split(">") for element in l] for item in sublist]
输出为:
['aaa', 'bbb', 'ccc', 'ddd', 'eee', '']
我承认这种列表理解并不是一件容易的事,也不是可以理解的,而是一种单行的方法:)
答案 2 :(得分:0)
您可以尝试以下操作:
a = ['aaa > bbb', 'ccc > ddd', 'eee > ']
newlist = []
for element in a:
newlist += element.split(' > ')
Append方法只是将参数添加为新元素,简单的添加即可解决您的问题。