Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 30, 2020 13:24:45

DuffyDuck
Зарегистрирован: 2020-09-07
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложенный список

 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']
, а не так как их я объединил?

Офлайн

#2 Ноя. 30, 2020 13:38:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Вложенный список

Здесь делал.

Для строки подправил код (иначе в бесконечную рекурсию падает)

  
>>> 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']
>>>


tags: flatten



Отредактировано py.user.next (Фев. 2, 2021 23:44:48)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version