2015-06-30 3 views
1

У меня есть два списка, которые я хочу, чтобы пронестисьZip каждый элемент списка А с каждым элементом списка B - лучший «pythonie» способ сделать это

Список A:

["hello ", "world "] 

Список B:

["one", "two", "three"] 

Я хочу, чтобы пронестись элементы в списках, как так:

[("hello","one") 
("hello","two") 
("hello","three") 
("world","one") 
("world","two") 
("world","three")] 

Очевидно, что я могу использовать двойной цикл и добавлять элементы, но мне интересно, что было бы хорошим способом pythonie сделать это?

+1

Понятие вы описываете является «[декартово произведение] (https://en.wikipedia.org/wiki/Cartesian_product)» и может с помощью 'itertools.product', как показано в приведенной выше ссылке. – CoryKramer

+0

Вот что я искал ... Спасибо! –

ответ

3

Это кажется идеальной потребительной случае для itertools.product

>>> import itertools 
>>> list(itertools.product(['hello', 'world'], ['one', 'two', 'three'])) 
[('hello', 'one'), ('hello', 'two'), ('hello', 'three'), ('world', 'one'), ('world', 'two'), ('world', 'three')] 
+0

Да. Это то, что я искал. Декартово произведение, как упоминал @CoryKramer. –

Смежные вопросы