Convert list of tuples such that [(a,b,c)] converts to [(a,b),(a,c)]

abc123 :

Thoughts on how I would do this? I want the first value in the tuple to pair with each successive value. This way each resulting tuple would be a pair starting with the first value.

I need to do this: [(a,b,c)] --> [(a,b),(a,c)]

Ch3steR :

You can try this.

(t,)=[('a','b','c')]

[(t[0],i) for i in t[1:]]
# [('a', 'b'), ('a', 'c')]

Using itertools.product

it=iter(('a','b','c'))
list(itertools.product(next(it),it))
# [('a', 'b'), ('a', 'c')]

Using itertools.repeat

it=iter(('a','b','c'))
list(zip(itertools.repeat(next(it)),it))
# [('a', 'b'), ('a', 'c')]

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=361273&siteId=1