logo

Convertir una lista en un diccionario Python

Dada una lista, escriba un programa Python para convertir la lista dada en un diccionario de modo que todos los elementos impares tengan la clave y los elementos pares tengan el valor. desde el Pitón El diccionario está desordenado, la salida puede estar en cualquier orden.

Ejemplo



  Input :    ['a', 1, 'b', 2, 'c', 3]   Output:   {'a': 1, 'b': 2, 'c': 3}   Explaination  : In the input we have a list of element which then is conerted into key value pairs of dictonary in the output>

Convertir una lista en un diccionario Python

A continuación se detallan los métodos que cubriremos en este artículo:

Convertir una lista en un diccionario usando un bucle

Este método funciona inicializando un archivo vacío. diccionario y luego iterar a través de la lista en el paso 2. En cada iteración, el par clave-valor se agrega al diccionario usando el elemento actual como clave y el siguiente elemento como valor. Finalmente, se devuelve el diccionario como resultado.

Python3








def> convert(lst):> >res_dict>=> {}> >for> i>in> range>(>0>,>len>(lst),>2>):> >res_dict[lst[i]]>=> lst[i>+> 1>]> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))>

>

>

Producción

{'a': 1, 'b': 2, 'c': 3}>

Complejidad del tiempo: O(n), donde n es la longitud de la lista de entrada.
Espacio auxiliar: O(n), donde n es la longitud de la lista de entrada.

Conversación de lista a diccionario usando dict Comprensión

Para convertir una lista a diccionario, podemos usar comprensión de dictados y haga un par clave:valor de elementos consecutivos. Finalmente, escriba la lista para dictar tipo.

Python3




def> Convert(lst):> >res_dct>=> {lst[i]: lst[i>+> 1>]>for> i>in> range>(>0>,>len>(lst),>2>)}> >return> res_dct> > # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Producción

longitud de la cadena bash
{'a': 1, 'b': 2, 'c': 3}>

Complejidad del tiempo: O(n), donde n es la longitud de la lista de entrada.
Espacio auxiliar: O(n), donde n es la longitud de la lista de entrada.

Convertir una lista en un diccionario en cantar cremallera() Método

Primero cree un iterador e inicialícelo en la variable 'it'. Entonces usa cremallera método , para comprimir claves y valores juntos. Finalmente encasillarlo en dictar tipo.

Python3




def> Convert(a):> >it>=> iter>(a)> >res_dct>=> dict>(>zip>(it, it))> >return> res_dct> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Producción

{'a': 1, 'b': 2, 'c': 3}>

Complejidad del tiempo: O(n), donde n es la longitud de la lista de entrada a.
Espacio auxiliar: O(n), donde n es la longitud de la lista de entrada a.

Conversación de lista a diccionario usando la función Lambda

Primero, cree una matriz de claves y valores mediante la división de matrices. Luego usa el método de mapa con lambda para formar una matriz de tupla con el valor clave paris. Finalmente encaséñelo para escribir tipo dict.

Pitón




def> Convert(lst):> >res_dct>=> map>(>lambda> i: (lst[i], lst[i>+>1>]),>range>(>len>(lst)>->1>)[::>2>])> >return> dict>(res_dct)> # Driver code> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(Convert(lst))>

>

>

Producción

{'a': 1, 'c': 3, 'b': 2}>

Complejidad del tiempo: O (n), donde n es el número de pares clave-valor en el diccionario.
Espacio auxiliar: O(n), para almacenar las claves y valores en el diccionario.

Convertir una lista en un diccionario usando la comprensión de listas y el corte

Rebanada la lista de entrada para obtener una lista de claves usando lst[::2]. Esto tomará cada segundo elemento comenzando desde el primer elemento de la lista. Divida la lista de entrada para obtener una lista de valores usando lst[1::2]. Esto tomará cada segundo elemento a partir del segundo elemento de la lista. Crea un diccionario usando un comprensión del diccionario que itera sobre los índices de la lista de claves y empareja cada clave con su valor correspondiente de la lista de valores.

Devuelve el diccionario resultante.

Python3




def> convert(lst):> >keys>=> lst[::>2>]># slice the list to get keys> >values>=> lst[>1>::>2>]># slice the list to get values> >res_dict>=> {keys[i]: values[i]>for> i>in> range>(>len>(keys))}> >return> res_dict> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))># {'a': 1, 'b': 2, 'c': 3}>

>

>

Producción

{'a': 1, 'b': 2, 'c': 3}>

Complejidad del tiempo: En)
Espacio auxiliar: En).

Convertir una lista en un diccionario usando Itertools

Importar el herramientas iterativas módulo .Utilizar el zip_más largo() Función para crear una lista de tuplas a partir de la lista original. Esta función agrupará los elementos en pares, incluso si la longitud de la lista es impar. Utilice un diccionario de comprensión para crear un diccionario a partir de la lista de tuplas. Devuelva el diccionario.

botón central css

A continuación se muestra la implementación del enfoque anterior:

Python3




import> itertools> def> convert(lst):> >pairs>=> itertools.zip_longest(>*>[>iter>(lst)]>*> 2>, fillvalue>=>None>)> >dct>=> {key: value>for> key, value>in> pairs}> >return> dct> lst>=> [>'a'>,>1>,>'b'>,>2>,>'c'>,>3>]> print>(convert(lst))>

>

>

Producción

{'a': 1, 'b': 2, 'c': 3}>

Complejidad del tiempo: En)
Espacio auxiliar: O(n) (para almacenar la lista de tuplas)