我想在python 2.7.11中组合如下所示的字符串 输入:
s1=['aapl','msft']
s2=['us']
s3=['bs','pl','cf']
期望的输出:
s0=['aaplusbs','aapluspl','aapluscf','msftusbs','msftuspl','msftuscf']
我尝试过使用itertools和itertools.cycle。这是最近的一段代码,但仍未提供所需的输出。
in>> ' '.join('%s%s%s' % i for i in zip(s1,itertools.cycle(s2),itertools.cycle(s3))).split()
out>> ['aaplusbs', 'msftuspl']
提前感谢。
答案 0 :(得分:0)
@Siraj,你需要做一些额外的事情,以便在itertools.product(s1,s2,s3)之上得到你想要的东西,如下所示。
import itertools
s1=['aapl','msft']
s2=['us']
s3=['bs','pl','cf']
ss = itertools.product(s1,s2,s3)
for s in ss:
print(' '.join(s).replace(" ",""))
产生如下输出:
aaplusbs
aapluspl
aapluscf
msftusbs
msftuspl
msftuscf
对于那些想要了解更多像我这样的itertools的人,请参考https://docs.python.org/2/library/itertools.html#itertools.product
答案 1 :(得分:0)
这就是我能做的事情
>>> s1=['aapl','msft']
>>> s2=['us']
>>> s3=['bs','pl','cf']
>>> s0=[]
>>>
>>> for i in s1:
for j in s2:
for k in s3:
print i+j+k
s0.append(i+j+k)
aaplusbs
aapluspl
aapluscf
msftusbs
msftuspl
msftuscf
>>> s0
['aaplusbs', 'aapluspl', 'aapluscf', 'msftusbs', 'msftuspl', 'msftuscf']
>>>