Форум сайта python.su
88
EvgenKlimВ контексте множеств означает “объединить множества и присвоить результат”.
Что делает оператор “|=” ?Не могу найти описание
“|” это OR, но как понять “|=” ?
EvgenKlimК примеру, если всего лишь переименовать scout1 в zcout1, получалось вот что:
Вроде правильно работает, по крайней мере выдает то что нужно) Если и есть какие-н ошибки, то я их не вижу. Сортировка уже лишняя, забыл удалить.
[['dr101', 'mr99', 'out00'], ['scout3', 'zcout1', 'scout2', 'scout4'], ['scout4', 'sscout', 'super']]
Отредактировано Shaman (Июнь 20, 2014 08:19:45)
Офлайн
568
Не универсально, но на данных ТСа работает
s = ["dr101-mr99", "mr99-out00", "dr101-out00", "scout1-scout2", "scout3-scout1", "scout1-scout4", "scout4-sscout", "sscout-super"] s = map(lambda x: set(x.split("-")), s) res = s[:1] for pair in s: for r in res: if r.intersection(pair): r.update(pair) pair = None break if pair: res.append(pair) print res
Офлайн