How to turn a list of iterators into all possible lists using those iterators [duplicate]
This question already has an answer here:
All combinations of a list of lists
6 answers
I have a list of iterators, such as l = [range(1), range(2), range(3)]
and each iterator iterates over the possibilities that could be in that slot.
However, I don't know how long the list is going to be.
In this case, to get what I want, I can easily do [[val1, val2, val3] for val1 in l[0] for val2 in l[1] for val3 in l[2]]
.
I've been looking a lot at itertools, and couldn't see anything that matched this pattern.
What function can take in a list of iterators and generate a list of all the possibilities for lists where each value in the list is a value of one of the generators in the slots?
python list iterator
marked as duplicate by Jean-François Fabre
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 25 '18 at 8:14
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
add a comment |
This question already has an answer here:
All combinations of a list of lists
6 answers
I have a list of iterators, such as l = [range(1), range(2), range(3)]
and each iterator iterates over the possibilities that could be in that slot.
However, I don't know how long the list is going to be.
In this case, to get what I want, I can easily do [[val1, val2, val3] for val1 in l[0] for val2 in l[1] for val3 in l[2]]
.
I've been looking a lot at itertools, and couldn't see anything that matched this pattern.
What function can take in a list of iterators and generate a list of all the possibilities for lists where each value in the list is a value of one of the generators in the slots?
python list iterator
marked as duplicate by Jean-François Fabre
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 25 '18 at 8:14
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
range
is not an interator.
– DYZ
Nov 25 '18 at 8:09
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26
add a comment |
This question already has an answer here:
All combinations of a list of lists
6 answers
I have a list of iterators, such as l = [range(1), range(2), range(3)]
and each iterator iterates over the possibilities that could be in that slot.
However, I don't know how long the list is going to be.
In this case, to get what I want, I can easily do [[val1, val2, val3] for val1 in l[0] for val2 in l[1] for val3 in l[2]]
.
I've been looking a lot at itertools, and couldn't see anything that matched this pattern.
What function can take in a list of iterators and generate a list of all the possibilities for lists where each value in the list is a value of one of the generators in the slots?
python list iterator
This question already has an answer here:
All combinations of a list of lists
6 answers
I have a list of iterators, such as l = [range(1), range(2), range(3)]
and each iterator iterates over the possibilities that could be in that slot.
However, I don't know how long the list is going to be.
In this case, to get what I want, I can easily do [[val1, val2, val3] for val1 in l[0] for val2 in l[1] for val3 in l[2]]
.
I've been looking a lot at itertools, and couldn't see anything that matched this pattern.
What function can take in a list of iterators and generate a list of all the possibilities for lists where each value in the list is a value of one of the generators in the slots?
This question already has an answer here:
All combinations of a list of lists
6 answers
python list iterator
python list iterator
asked Nov 25 '18 at 7:59
Pro QPro Q
93821329
93821329
marked as duplicate by Jean-François Fabre
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 25 '18 at 8:14
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by Jean-François Fabre
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 25 '18 at 8:14
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
range
is not an interator.
– DYZ
Nov 25 '18 at 8:09
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26
add a comment |
range
is not an interator.
– DYZ
Nov 25 '18 at 8:09
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26
range
is not an interator.– DYZ
Nov 25 '18 at 8:09
range
is not an interator.– DYZ
Nov 25 '18 at 8:09
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26
add a comment |
1 Answer
1
active
oldest
votes
As I was typing up this question, I realized that there is in fact an itertools function that accomplishes this.
list(itertools.product(*l))
does the trick.
I figure I'll just post this as a self-answered question in case someone else has similar terminology.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As I was typing up this question, I realized that there is in fact an itertools function that accomplishes this.
list(itertools.product(*l))
does the trick.
I figure I'll just post this as a self-answered question in case someone else has similar terminology.
add a comment |
As I was typing up this question, I realized that there is in fact an itertools function that accomplishes this.
list(itertools.product(*l))
does the trick.
I figure I'll just post this as a self-answered question in case someone else has similar terminology.
add a comment |
As I was typing up this question, I realized that there is in fact an itertools function that accomplishes this.
list(itertools.product(*l))
does the trick.
I figure I'll just post this as a self-answered question in case someone else has similar terminology.
As I was typing up this question, I realized that there is in fact an itertools function that accomplishes this.
list(itertools.product(*l))
does the trick.
I figure I'll just post this as a self-answered question in case someone else has similar terminology.
answered Nov 25 '18 at 7:59
Pro QPro Q
93821329
93821329
add a comment |
add a comment |
range
is not an interator.– DYZ
Nov 25 '18 at 8:09
True. Thank you for catching that.
– Pro Q
Nov 25 '18 at 10:26