Rosenthalal
Rosenthalal

Reputation: 7

Splitting a list into two seperate lists, by every other item in python

Hello I have a quick question I cant seem to solve.

I have a list:

a = [item1, item2, item3, item4, item5, item6]

And I want to split this list into two seperate ones by everything other item such that:

b = [item1, item3, item5]
c = [item2, item4, item6]

Upvotes: 1

Views: 334

Answers (2)

shaktimaan
shaktimaan

Reputation: 12092

Using filter is one option:

a = [item1, item2, item3, item4, item5, item6]
b = filter(lambda x: a.index(x) % 2 == 0, a)
c = filter(lambda x: a.index(x) % 2 != 0, a)

EDIT: This would require for the elements to be unique and is inefficient.

Upvotes: 0

roippi
roippi

Reputation: 25954

Use slicing, specifying a step:

b,c = a[::2], a[1::2]

Upvotes: 6

Related Questions