搜索数据对象并连接字符串数组中的项目

时间:2016-02-17 21:30:14

标签: python

我有一个如下所示的数据结构:

[{u'id': [u'213938162d125653628e0912986e78b23d359ca3'], u'items': [u'item1', u'item12'], u'version': u'v1'},
 {u'id': [u'213938162d125653628e0912986e78b23d359ca3'], u'items': [u'item1', u'item2', u'item3', u'item4'], u'version': u'v2'},
 {u'id': [u'213938162d125653628e0912986e78b23d359ca3'], u'items': [u'item1', u'item2'], u'version': u'v3'},
 {u'id': [u'213938162d125653628e0912986e78b23d359ca3'], u'items': [u'item1'], u'version': u'v4'}
]

我需要一个可以根据"版本"的值进行搜索的功能。获得"项目"然后将项目连接成一个字符串。

实现这一目标的最佳方法是什么。

1 个答案:

答案 0 :(得分:3)

def joinItems(myList, version)
    toConcate = []
    for dct in filter(lambda dct: dct[u"version"] == version, myList):
       toConcate.extend(dct[u"items"])

    return "seperator".join(toConcate)

也可以在单个生成器理解中执行此操作:

return "sep".join(itertools.chain(dct[u"items"] for dct in myList if dct[u"version"] == version))