实现多个列表元素顺序排列

实现多个列表元素排列

最近项目中有需求实现类似多个列表元素排列的功能,发现可以用python的内置函数reduce快速实现,mark一下,后面如果找到更好的方法再过来更新。

try:
    import reduce
except:
    from functools import reduce


def lists_combination(lists, code=''):
    def myfunc(list1, list2):
        return [str(i) + code + str(j) for i in list1 for j in list2]

    return reduce(myfunc, lists)


if __name__ == '__main__':
    list1 = [12, 2]
    list2 = ['']
    list3 = [5, 6, 7]
    res = lists_combination([list1, list2, list3], code=',')
    for r in res:
        print(r.split(','))
    print(res)
posted @ 2019-04-20 16:21  村口王铁匠  阅读(328)  评论(0编辑  收藏  举报