实现多个列表元素顺序排列
实现多个列表元素排列
最近项目中有需求实现类似多个列表元素排列的功能,发现可以用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)