On Jan 2, 3:18 pm, "Octavian Rasnita" <orasn...@gmail.com> wrote:
> Hi,
>
> If I want to create a dictionary from a list, is there a better way than the 
> long line below?
>
> l = [1, 2, 3, 4, 5, 6, 7, 'a', 8, 'b']
>
> d = dict(zip([l[x] for x in range(len(l)) if x %2 == 0], [l[x] for x in 
> range(len(l)) if x %2 == 1]))
>
> print(d)
>
> {8: 'b', 1: 2, 3: 4, 5: 6, 7: 'a'}
>
> Thanks.
>
> Octavian

this is efficient

l = [1,2,3,4,5,6]
>>> dict(izip(islice(l,0,len(l),2),islice(l,1,len(l),2)))
{1: 2, 3: 4, 5: 6}
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to