On 03/31/2015 10:00 AM, Ian D wrote:
Hi

I have a list that I am splitting into pairs of values. But the list is dynamic 
in size. It could have 4 values or 6 or more.

I originally split the list into pairs, by using a new list and keep a pair in 
the old list by just popping 2 values. But if the list is longer than 4 values. 
I cannot do this. I can only envision I would need to dynamically create lists. 
How would I do this?

while returned_list_of_items:
     for i in range(1):
         new_list.append(returned_list_of_items.pop(0)) #pop first value and 
append
         new_list.append(returned_list_of_items.pop(0)) #pop second value and 
append


It'd really be a lot clearer if you gave one or more examples of input and output data. Like you want list [1,2,3,4] to become [ (1,2), (3,4) ]

I'll guess you want a list of two-tuples. It so happens there's a nice built-in for the purpose.

https://docs.python.org/3/library/functions.html#zip

>>> s = [1,2,3,4,5,6,7,8]
>>> list(zip(*[iter(s)]*2))
[(1, 2), (3, 4), (5, 6), (7, 8)]



--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to