我的任务是从我的大列表中列出一个列表,并根据该大列表的一个元素中字符串的出现将它们分开。
这是我的清单的开头,很多次会出现'对话#' -
我想把这个大清单拆分成列表,这样每个人都会用
'对话框#'
然后将包含所有字符串,直到出现“dialog#”的另一个出现,这将开始构建另一个列表。
然后我想迭代从一个大清单创建的所有列表。
我对Python有一些经验,但这超出了我的水平......
谢谢大家!
答案 0 :(得分:0)
source_list = ['dialog #', 'a', 'b', 'dialog #', ... ]
new_list = []
begin = 0
local_list = []
for item in source_list:
if item == 'dialog #':
if begin == 0:
local_list.append(item)
begin = 1
else:
new_list.append(local_list)
local_list = [item]
else:
local_list.append(item)
new_list.append(local_list)
我不检查......
答案 1 :(得分:0)
def split_list(input_list, delimiter):
result_list = []
while len(input_list) > 0:
elem = input_list.pop(0)
if elem == delimiter:
if 'sub_list' in locals():
result_list.append(sub_list)
sub_list = [elem]
elif len(input_list) == 0:
sub_list.append(elem)
result_list.append(sub_list)
else:
sub_list.append(elem)
return result_list
测试:
test_data = ['dialog #', 'foo', 'bar', 'dialog #', 'baz', 'zaz']
split_list(test_data, 'dialog #')
[['dialog#','foo','bar'],['dialog#','baz','zaz']]