Итак, у меня есть список, который я хочу преобразовать в список, содержащий список для каждой группы объектов.
т.е.
['objA.attr1', 'objC', 'objA.attr55', 'objB.attr4']
вернется
[['objA.attr1', 'objA.attr55'], ['objC'], ['objB.attr4']]
В настоящее время это то, что я использую:
givenList = ['a.attr1', 'b', 'a.attr55', 'c.attr4']
trgList = []
objNames = []
for val in givenList:
obj = val.split('.')[0]
if obj in objNames:
id = objNames.index(obj)
trgList[id].append(val)
else:
objNames.append(obj)
trgList.append([val])
#print trgList
Кажется, что он работает на приличной скорости, когда исходный список имеет около 100 000 идентификаторов ... но мне любопытно, есть ли лучший способ сделать это. Порядок объектов или атрибутов не имеет значения. Есть идеи?