resueltos - lista dentro de un diccionario python
Hacer diccionario de la lista con python (5)
Necesito transformar una lista en diccionario de la siguiente manera. Los elementos impares tienen la clave, e incluso los elementos numéricos tienen el valor.
x = (1,''a'',2,''b'',3,''c'') -> {1: ''a'', 2: ''b'', 3: ''c''}
def set(self, val_): i = 0 for val in val_: if i == 0: i = 1 key = val else: i = 0 self.dict[key] = val
¿Una mejor manera de obtener los mismos resultados?
ADICIONAL
i = iter(k) print dict(zip(i,i))
parece estar funcionando
Aquí hay un par de maneras para que Python3 use las comprensiones dict
>>> x = (1,''a'',2,''b'',3,''c'')
>>> {k:v for k,v in zip(*[iter(x)]*2)}
{1: ''a'', 2: ''b'', 3: ''c''}
>>> {x[i]:x[i+1] for i in range(0,len(x),2)}
{1: ''a'', 2: ''b'', 3: ''c''}
>>> x=(1,''a'',2,''b'',3,''c'')
>>> dict(zip(x[::2],x[1::2]))
{1: ''a'', 2: ''b'', 3: ''c''}
dict(x[i:i+2] for i in range(0, len(x), 2))
dict(zip(*[iter(val_)] * 2))
x = (1,''a'',2,''b'',3,''c'')
d = dict(x[n:n+2] for n in xrange(0, len(x), 2))
print d