我有一个列表,列表中包含baselist = [['Store3', 'Store4', 'Store5'], ['Rack1', 'Rack2'], ['Box1', 'Box2']]
这样的组合,并尝试生成一个包含字符串的列表:
Store3Rack1Box1
Store3Rack1Box2
Store3Rack2Box1
Store3Rack2Box2
Store4Rack1Box1
Store4Rack1Box2
Store4Rack2Box1
Store4Rack2Box2
我已经使用itertools和collections进行了尝试。但最后我不知道如何解决这个问题。什么是解决方案的正确方法?
答案 0 :(得分:4)
In [523]: print('\n'.join(map(''.join, itertools.product(*baselist))))
Store3Rack1Box1
Store3Rack1Box2
Store3Rack2Box1
Store3Rack2Box2
Store4Rack1Box1
Store4Rack1Box2
...
正是要走的路。您是否尝试在将列表传递给函数之前解压缩列表?
itertools.product(*baselist)
让我分解一下:
map(''.join, ...)
以元组列表的形式生成组合
'\n'.join(...)
将每个产品列表加入
adapter
准备好您的输出进行打印