尝试根据开始和结束元素从列表创建子列表。我无法获得所有出现的开始和结束元素
lst = ['value0','<!program start>','value1','value2','<!program end>',
'value3','<!program start>','value4','<!program end>','value5']
预期输出:
[['value0'],['<!program start>','value1','value2','<!program end>'],
['value3'],['<!program start>','value4','<!program end>'],['value5']]
代码:
start_idx = lst.index('<!program start>')
end_idx = lst.index('<!program end>')
final_result = lst[:start_idx] + [lst[start_idx:end_idx+1]] + lst[end_idx+1:]
print(final_result)
使用迭代:
lst = ['value0', '<!program start>', 'value1', 'value2', '<!program end>',
'value3', '<!program start>', 'value4', '<!program end>', 'value5']
res = []
start = False
temp = []
for item in lst:
if item == '<!program start>':
start = True
temp.append(item)
elif item == '<!program end>':
start = False
temp.append(item)
res.append(temp)
temp = []
elif start:
temp.append(item)
else:
res.append([item])
print(res)
输出:
[['value0'], ['<!program start>', 'value1', 'value2', '<!program end>'], ['value3'], ['<!program start>', 'value4', '<!program end>'], ['value5']]
通过start
标志我处理项目是否在开始和结束标签的中间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句