2024-06-16 09:53:35 发布
网友
有没有比大量嵌套for循环更简单的方法来迭代多个字符串?在
list = ['rst','uvw','xy'] for x in list[0]: for y in list[1]: for z in list[2]: print x+y+z rux ruy ... tvx tvy twx twy
示例列表我真的希望避免为以下对象键入写循环:
另一种方式?一定地。更简单?也许不是。。。在
我猜这是因为你不一定知道你的列表中有多少个字符串。在
关于: sl=['abc','mno','xyz']
def strCombo(l,s=''): if(len(l)==0): return s elif(len(l)==1): return [(s+x) for x in l[0]] else: return [strCombo(l[1:],(s+x)) for x in l[0]] final = [] for x in strCombo(sl)[0]: final = final + x
你需要itertools.product公司名称:
import itertools list = ['rst','uvw','xy','awfg22','xayx','1bbc1','thij','bob','thisistomuch'] for x in itertools.product(*list): print(''.join(x))
产品从它获得的迭代器返回所有可能的元素元组。所以
将返回生成器,生成('a','c'),('a','d'),('b','c'),('b','d')
您正在从itertools中查找product函数:
itertools
product
import itertools lst = ['rst','uvw','xy'] [''.join(s) for s in itertools.product(*lst)] # ['rux', # 'ruy', # 'rvx', # 'rvy', # 'rwx', # ... # 'twx', # 'twy']
另一种方式?一定地。更简单?也许不是。。。在
我猜这是因为你不一定知道你的列表中有多少个字符串。在
关于: sl=['abc','mno','xyz']
你需要itertools.product公司名称:
产品从它获得的迭代器返回所有可能的元素元组。所以
^{pr2}$将返回生成器,生成('a','c'),('a','d'),('b','c'),('b','d')
您正在从
itertools
中查找product
函数:相关问题 更多 >
编程相关推荐