Форум сайта python.su
0
Привет всем!
Есть след задача: есть список с произвольным уровнем вложенности каждое значение, которого уникально. Нужно достать одно из уникальных значений
Для простоты набросал вот такой пример:
m = [[[3, 4], [1, 2]], [[3, 4], [1, 2]], [[3, 4], [1, 2]], [[3, 4], [1, 2]], [[9, 8], [9, 0]]] def function(f): for propertys in f: x = propertys if not isinstance(propertys, list): if x == 0: print x return x else: function(propertys) for group in m: x = function(group) print x
Отредактировано bot (Июль 11, 2013 14:34:36)
Офлайн
568
Ошибка в том, что выполнив
function(propertys)
Офлайн
568
def flatten(nested): try: for sublist in nested: for element in flatten(sublist): yield element except TypeError: yield nested l = [1, 2, 3, [1, 2], [45, 67, [56, 4]]] for x in flatten(l): print x
Офлайн
0
FishHookСпасибо, но мне все равно придется переделывать. Предстоит работа с файлом в 10Mб
Офлайн
Частовстречающаяся ошибка, когда функция рекурсивно так вызывается, нужно
return function(…)
Офлайн