gpt4 book ai didi

python - 如何将列表(在 python 中)拆分为不同部分(在某个元素之后)?

转载 作者:行者123 更新时间:2023-12-01 04:56:48 25 4
gpt4 key购买 nike

我遇到以下问题。我有一个包含元素的列表。例如:

L = ['@@', ' n', ' .', '  ', '-\\', '@@', '+A', '+u', '@@', '+g', '+r', '+u'] 

现在,我想在每个“@@”之后分割列表,我得到以下内容:

L1 = ['@@', ' n', ' .', '  ', '-\\']    
L2 = ['@@', '+A', '+u']
L3 = ['@@', '+g', '+r', '+u']

我尝试了很多,但我不知道该怎么做。

最佳答案

您可以使用生成器函数:

def split_by(iterable, split_by):
group = []
for elem in iterable:
if elem == split_by:
if group:
yield group
group = []
group.append(elem)
if group:
yield group

然后将其用作:

groups = list(split_by(L, '@@))

或者使用循环:

for group in split_by(L, '@@'):
print group

演示:

>>> def split_by(iterable, split_by):
... group = []
... for elem in iterable:
... if elem == split_by:
... if group:
... yield group
... group = []
... group.append(elem)
... if group:
... yield group
...
>>> L = ['@@', ' n', ' .', ' ', '-\\', '@@', '+A', '+u', '@@', '+g', '+r', '+u']
>>> for group in split_by(L, '@@'):
... print group
...
['@@', ' n', ' .', ' ', '-\\']
['@@', '+A', '+u']
['@@', '+g', '+r', '+u']

关于python - 如何将列表(在 python 中)拆分为不同部分(在某个元素之后)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com