我是python的新手,所以我的问题是:
我有一个这样的清单:
L = ['Name1', 'String1', 'String2', 'String3', 'Name2', 'String4', 'String5', 'String6', ...]
我想将其转换为一个新列表,其中某个“名称”之后的所有字符串都在一个子列表中,其名称类似于:
L2 = [['Name1', 'String1', 'String2', 'String3'],['Name2', 'String4', 'String5', 'String6'],[...]]
最好的方法是什么?
最佳答案
假设有一个函数isname()告诉我们列表L的元素是否是名称:
Lsub = []
L2 = []
for e in L:
if isname(e):
if Lsub:
L2.append(Lsub)
Lsub = [e]
else:
Lsub.append(e)
L2.append(Lsub)