Слияние вложенных списков в словаре

Рейтинг: 1Ответов: 1Опубликовано: 21.04.2015

Допустим, есть такая структура данных:

data = {
  'items': [
    {'subitems': ['lol', 'wut']},
    {'subitems': ['wut', 'lol']}
  ]
}

Для слияния всех списков subitems, я пишу такой код:

subitems = []
for item in data['items']:
  subitems.extend(item['subitems'])

Какие есть способы решить такую задачу еще более элегантно?

Ответы

▲ 4Принят

По-моему ваше решение и так вполне элегантное, но можете ещё проще сделать:

from itertools import chain
chain( *( item['subitems'] for item in data['items'] ) )