python – 将列表的元素与所有可能的分隔符组合在一起
发布时间:2020-12-20 11:34:30 所属栏目:Python 来源:网络整理
导读:我有以下要求. 我有一个列表,说有3个元素[X,Y,2] 我想要做的是在每个元素之间生成带有分隔符(比如说“ – ”)的字符串.应保留数组中元素的顺序. 所以输出将是: 'XY2''X-Y-2''X-Y2''XY-2' 在python中有一种优雅的方式吗? 解决方法 import itertools for c i
我有以下要求.
我有一个列表,说有3个元素[X,Y,2] 我想要做的是在每个元素之间生成带有分隔符(比如说“ – ”)的字符串.应保留数组中元素的顺序. 所以输出将是: 'XY2' 'X-Y-2' 'X-Y2' 'XY-2' 在python中有一种优雅的方式吗? 解决方法>>> import itertools >>> for c in itertools.product(' -',repeat=2): print ('X%sY%s2' % c).replace(' ','') XY2 XY-2 X-Y2 X-Y-2 或者,来自python列表的元素: import itertools a = ['X','Y',2] for c in itertools.product(' -',repeat=2): print ('%s%s%s%s%s' % (a[0],c[0],a[1],c[1],a[2])).replace(' ','') 或者,风格略有不同: import itertools a = ['X','2'] for c in itertools.product(' -',repeat=2): print ( '%s'.join(a) % c ).replace(' ','') 要将输出捕获到列表: import itertools a = ['X','2'] output = [] for c in itertools.product(' -',repeat=len(a)-1): output.append( ('%s'.join(a) % c).replace(' ','') ) print 'output=',output (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |