利用python查找一个列表数据,首先判断第一个元素是否是以”():“结尾,如果是的话,将第一个元素加到一个新列表1里面,接着判断第二元素是否也是以”():“结尾,如果不是加到上面的新列表1里面,当判断某第几元素时,是以”():“结尾,则输出新列表1,继续开始,将上面某第几个元素以”():“结尾的,添加到另外一个新列表2里面,依次后面判断,如果不是以”():“结尾的,添加到新的列表2里面,如果是以”():“结尾的,则输出新列表2,继续开始,将前一个元素以”():“结尾的添加到新列表3里面,接着判断,如此反复,直至列表数据元素遍历完。例子:原始列表数据['KL15_ValueManage(): ', 'Flg_Normal= 22', 'Flg_Normal_State= AltVector ', 'KL15_Manage1(): ', 'data[1]=12', 'Stu_Data=3 '] 通过上述算法分成['KL15_ValueManage(): ', 'Flg_Normal= 22', 'Flg_Normal_State= AltVector ']和['KL15_Manage1(): ', 'data[1]=12', 'Stu_Data=3 ']两个列表。
时间: 2024-02-02 19:05:21 浏览: 51
好的,可以使用 Python 来实现这个算法。下面是一个可能的实现:
```python
def split_list(lst):
result = []
sub_lst = []
for item in lst:
if item.endswith("():"):
sub_lst.append(item)
result.append(sub_lst)
sub_lst = []
else:
sub_lst.append(item)
if sub_lst:
result.append(sub_lst)
return result
```
这个函数接受一个列表作为参数,返回一个由子列表组成的列表。每个子列表都是原始列表中以某个元素结尾的一段,直到下一个以相同方式结尾的元素出现。如果最后一段没有以这种方式结尾,则它也会被添加到结果列表中。
你可以将这个函数应用到你给出的例子中,例如:
```python
lst = ['KL15_ValueManage(): ', 'Flg_Normal= 22', 'Flg_Normal_State= AltVector ', 'KL15_Manage1(): ', 'data[1]=12', 'Stu_Data=3 ']
result = split_list(lst)
print(result)
```
这个程序会输出:
```
[
['KL15_ValueManage(): ', 'Flg_Normal= 22', 'Flg_Normal_State= AltVector '],
['KL15_Manage1(): ', 'data[1]=12', 'Stu_Data=3 ']
]
```
这就是你想要的结果。
阅读全文