On Wed, Mar 2, 2022 at 9:37 AM Antoon Pardon <antoon.par...@vub.be> wrote:
>
>
>
> Op 2/03/2022 om 15:29 schreef Larry Martell:
> > On Wed, Mar 2, 2022 at 9:10 AM Antoon Pardon<antoon.par...@vub.be>  wrote:
> >> Op 2/03/2022 om 14:44 schreef Larry Martell:
> >>> On Wed, Mar 2, 2022 at 8:37 AM Antoon Pardon<antoon.par...@vub.be>   
> >>> wrote:
> >>>> Op 2/03/2022 om 14:27 schreef Larry Martell:
> >>>>> On Tue, Mar 1, 2022 at 7:21 PM<2qdxy4rzwzuui...@potatochowder.com>    
> >>>>> wrote:
> >>>>>> On 2022-03-01 at 19:12:10 -0500,
> >>>>>> Larry Martell<larry.mart...@gmail.com>    wrote:
> >>>>>>
> >>>>>>> If I have 2 lists, e.g.:
> >>>>>>>
> >>>>>>> os = ["Linux","Windows"]
> >>>>>>> region = ["us-east-1", "us-east-2"]
> >>>>>>>
> >>>>>>> How can I get a list of tuples with all possible permutations?
> >>>>>>>
> >>>>>>> So for this example I'd want:
> >>>>>>>
> >>>>>>> [("Linux", "us-east-1"), ("Linux", "us-east-2"), ("Windows",
> >>>>>>> "us-east-1"), "Windows", "us-east-2')]
> >>>>>>>
> >>>>>>> The lists can be different lengths or can be 0 length. Tried a few
> >>>>>>> different things with itertools but have not got just what I need.
> >>>>>> [(o, r) for o in os for r in region]
> >>>>> This does not work if region = []. I wrote in my question that either
> >>>>> list could be empty.
> >>>> What do you mean it doesn't work? The result seems to be an empty list,
> >>>> which IMO is a perfectly valid result.
> >>>>
> >>>> All possible permutations over two collections where one collection is
> >>>> empty, should IMO give you an empty collection.
> >>> If one list is empty I want just the other list. What I am doing is
> >>> building a list to pass to a mongodb query. If region is empty then I
> >>> want to query for just the items in the os list. I guess I can test
> >>> for the lists being empty, but I'd like a solution that handles that
> >>> as down the road there could be more than just 2 lists.
> >> How about the following: Keep a list of your lists you want to permute 
> >> over.
> >> Like the following:
> >>
> >> permutation_elements = [["Linux","Windows"],["us-east-1", "us-east-2"]]
> >>
> >> permutation = itertools.product(*permutation_elements)
> >>
> >> If you don't include the empty list, you will get more or less what you
> >> seem to want.
> > But I need to deal with that case.
>
> What does that mean? How does using the above method to produce the 
> permutations
> you want, prevent you from dealing with an empty list however you want when 
> you
> encounter them? Just don't add them to the permutation_elements.

I need to know what items are in which position. If sometimes the
regions are in one index and sometimes in another will not work for
me.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to