(我确定这已经在某个地方回答了,但我确实找不到正确的问题。也许我不知道该练习的正确动词?)
我有两个清单:
prefix = ['A', 'B', 'C']
suffix = ['a', 'b']
我想得到这个:
output = ['A a', 'A b', 'B a', 'B b', 'C a', 'C b']
我知道这种zip
方法,它会在加入的列表中以最短的长度停止:
output_wrong = [p+' '+s for p,s in zip(prefix,suffix)]
那么最Python化的方式是什么?
编辑:
尽管大多数答案都比较喜欢itertools.product
,但我却更喜欢:
output = [i + ' ' + j for i in prefix for j in suffix]
因为它没有引入新的软件包,但是该软件包是最基本的(好吧,我不知道哪种方法更快,这可能是个人喜好问题)。
使用清单理解
prefix = ['A', 'B', 'C']
suffix = ['a', 'b']
result = [val+" "+val2 for val in prefix for val2 in suffix ]
print(result)
输出值
['A a', 'A b', 'B a', 'B b', 'C a', 'C b']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句