以下python代码为我提供了给定值的不同组合。
import itertools
iterables = [ [1,2,3,4], [88,99], ['a','b'] ]
for t in itertools.product(*iterables):
print t
输出: -
(1, 88, 'a')
(1, 88, 'b')
(1, 99, 'a')
(1, 99, 'b')
(2, 88, 'a')
等等。
有人可以告诉我如何修改此代码,使输出看起来像一个列表;
188a
188b
199a
199b
288a
答案 0 :(得分:5)
你可以试试这个:
iterables = [ [1,2,3,4], [88,99], ['a','b'] ]
new_list = [''.join(map(str, i)) for i in itertools.product(*iterables)]
答案 1 :(得分:5)
您必须将数字转换为字符串,然后加入结果:
print ''.join(map(str, t))
如果您开始使用输入字符串,则可以避免转换:
iterables = [['1', '2', '3', '4'], ['88', '99'], ['a', 'b']]
for t in itertools.product(*iterables):
print ''.join(t)
如果你想要的只是打印这些值(否则不要对它们做任何事情)然后使用print()
作为函数(使用from __future__ import print_function
Python 2功能切换或使用Python 3):
from __future__ import print_function
iterables = [[1, 2, 3, 4], [88, 99], ['a', 'b']]
for t in itertools.product(*iterables):
print(*t)