Не получается создать новые списки на основе текущего.
Правило разбиения на списки простое: дан громадный список ветвей дерева: Петя-Маша, Маша-Даша, Юстас-Алекс, Маша-Вася, Вася-Борис и т.п…. Нужно создать списки уникальных имен при условии что они принадлежат одному дереву, т.е. связаны через последовательность имен. Например в данном случае Петя находится в одном дереве с Борисом, т.к. можно составить цепь Петя-Маша-Вася-Борис. Также в данном случае этот список будет следующим
[Петя, Маша, Даша, Вася, Борис]
Этот код выдает ошибку…
n=["dr101-mr99", "mr99-out00", "dr101-out00", "scout1-scout2", "scout3-scout1", "scout1-scout4", "scout4-sscout", "sscout-super"] new=[[]] st="" n.sort() isp=0 while n!=[]: st=n[0] st=st.split("-") print isp new[-1].append(st) n.remove(n[0]) deleted=0 for i in range(len(n)): st=n[i-deleted] st=st.split("-") if (st[0] in new[isp]) and (st[1] not in new[isp]): new[isp].append(st[1]) del n[i-deleted] deleted+=1 elif (st[1] in new[isp]) and (st[0] not in new[isp]): new[isp].append(st[0]) del n[i-deleted] deleted+=1 elif (st[0] in new[isp]) and (st[1] in new[isp]): del n[i-deleted] deleted+=1 isp+=1 print new print n
Помогите пожалуйста разобраться что не правильно делаю. Спасибо!
(