Форум сайта python.su
f = ['анна_2000', 'евгений_1981', ['михаил_1994', 'глеб_1982', 'кирилл_2010']] g = [] for i in f[:2]: g.append(i) for i in f[2:]: g.extend(i) print(g)
['анна_2000', 'евгений_1981', 'михаил_1994', 'глеб_1982', 'кирилл_2010']
Офлайн
Здесь делал.
Для строки подправил код (иначе в бесконечную рекурсию падает)
>>> def flatten(seq): ... for i in seq: ... if hasattr(i, '__getitem__') and not isinstance(i, str): ... for j in flatten(i): ... yield j ... else: ... yield i ... >>> list(flatten(['анна_2000', 'евгений_1981', ['михаил_1994', 'глеб_1982', 'кирилл_2010']])) ['анна_2000', 'евгений_1981', 'михаил_1994', 'глеб_1982', 'кирилл_2010'] >>> >>> list(flatten(['анна_2000', 'евгений_1981', ['михаил_1994', 'глеб_1982', ['jimbo'], 'кирилл_2010']])) ['анна_2000', 'евгений_1981', 'михаил_1994', 'глеб_1982', 'jimbo', 'кирилл_2010'] >>>
Отредактировано py.user.next (Фев. 2, 2021 23:44:48)
Офлайн