在python中,如何在没有任何共享元素的情况下将list1的元素均匀分布在list2的元素上?

在python中,如何在没有任何共享元素的情况下将list1的元素均匀分布在list2的元素上?,python,list,append,distribute,Python,List,Append,Distribute,假设我有 list1=['a','b'] 及 如果没有任何两个list1元素共享list2元素,如何将它们加入第三个列表 像这样: list3=['ad','bc','ae','bf'] 你可以使用一些漂亮的itertools技巧来达到你的效果。首先,您希望压缩这两个列表,但由于前者较短,您希望继续压缩,直到将其耗尽 >>> from itertools import izip, cycle >>> list1=['a','b'] >>>

假设我有

list1=['a','b']

如果没有任何两个
list1
元素共享
list2
元素,如何将它们加入第三个列表

像这样:

list3=['ad','bc','ae','bf']

你可以使用一些漂亮的itertools技巧来达到你的效果。首先,您希望压缩这两个列表,但由于前者较短,您希望继续压缩,直到将其耗尽

>>> from itertools import izip, cycle
>>> list1=['a','b']
>>> list2=['d','c','e','f']
>>> map(''.join, list(izip(cycle(list1), list2)))
['ad', 'bc', 'ae', 'bf']
我使用的是python 3.4.2,
我在windows 7上

错误:无法导入名称izip@MMG:请说明您的Python版本
>>> from itertools import izip, cycle
>>> list1=['a','b']
>>> list2=['d','c','e','f']
>>> map(''.join, list(izip(cycle(list1), list2)))
['ad', 'bc', 'ae', 'bf']