I can\'t seem to find an elegant way to start from t and result in s.
>>>t = [\'a\',2,\'b\',3,\'c\',4]
#magic
>>>print s
Guys, guys, use itertools. Your low-RAM users will thank you when the lists get large.
>>> from itertools import izip, islice
>>> t = ['a',2,'b',3,'c',4]
>>> s = dict(izip(islice(t, 0, None, 2), islice(t, 1, None, 2)))
>>> s
{'a': 2, 'c': 4, 'b': 3}
It might not look pretty, but it won't make unnecessary in-memory copies.