logo

Converti un elenco in un dizionario Python

Data una lista, scrivi un programma Python per convertire la lista data in un dizionario in modo tale che tutti gli elementi dispari abbiano la chiave e gli elementi numerici pari abbiano il valore. Dal momento che Pitone dizionario non è ordinato, l'output può essere in qualsiasi ordine.

Esempio



  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>

Converti un elenco in un dizionario Python

Di seguito sono riportati i metodi che tratteremo in questo articolo:

Converti un elenco in un dizionario utilizzando un loop

Questo metodo funziona inizializzando un file vuoto dizionario e quindi scorrendo l'elenco nel passaggio 2. In ogni iterazione, la coppia chiave-valore viene aggiunta al dizionario utilizzando l'elemento corrente come chiave e l'elemento successivo come valore. Infine, come risultato viene restituito il dizionario.

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))>

>

>

Produzione

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

Complessità temporale: O(n), dove n è la lunghezza dell'elenco di input.
Spazio ausiliario: O(n), dove n è la lunghezza dell'elenco di input.

Elenco per la conversazione del dizionario utilizzando la comprensione dict

Per convertire un elenco in dizionario, possiamo usare comprensione del detto e creare una coppia chiave:valore di elementi consecutivi. Infine, digita l'elenco in dict tipo.

Python3


coda di priorità Java



è uguale al metodo Java

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))>

>

>

Produzione

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

Complessità temporale: O(n), dove n è la lunghezza dell'elenco di input.
Spazio ausiliario: O(n), dove n è la lunghezza dell'elenco di input.

Conversione di un elenco in un dizionario In cantare cerniera lampo() Metodo

Per prima cosa crea un iteratore e inizializzalo sulla variabile 'it'. Quindi utilizzare cerniera lampo metodo , per comprimere insieme chiavi e valori. Infine digitalo in dict 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))>

>

>

Produzione

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

Complessità temporale: O(n), dove n è la lunghezza dell'elenco di input a.
Spazio ausiliario: O(n), dove n è la lunghezza dell'elenco di input a.

Elenco delle conversazioni del dizionario utilizzando la funzione Lambda

Innanzitutto, crea un array di chiavi e valori utilizzando il sezionamento dell'array. Quindi utilizzare il metodo della mappa con lambda per formare un array di tuple con il valore chiave paris. Infine digitalo in dict type.

Pitone




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))>

>

>

Produzione

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

Complessità temporale: O(n), dove n è il numero di coppie chiave-valore nel dizionario.
Spazio ausiliario: O(n), per memorizzare le chiavi e i valori nel dizionario.

un esempio di sistema operativo open source è

Conversione di un elenco in un dizionario utilizzando la comprensione e l'affettamento delle liste

Fetta l'elenco di input per ottenere un elenco di chiavi utilizzando lst[::2]. Questo prenderà ogni secondo elemento a partire dal primo elemento della lista. Suddividi la lista di input per ottenere una lista di valori usando lst[1::2]. Questo richiederà ogni secondo elemento a partire dal secondo elemento dell'elenco. Crea un dizionario utilizzando a comprensione del dizionario che scorre sugli indici dell'elenco delle chiavi e accoppia ciascuna chiave con il valore corrispondente dall'elenco dei valori.

Restituisce il dizionario risultante.

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}>

>

>

Produzione

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

Complessità temporale: SU)
Spazio ausiliario: SU).

matematica Java casuale

Converti un elenco in dizionario utilizzando Itertools

Importa il itertools modulo .Usa il zip_più lungo() funzione per creare un elenco di tuple dall'elenco originale. Questa funzione raggrupperà gli elementi in coppie, anche se la lunghezza dell'elenco è dispari. Utilizza un dizionario di comprensione per creare un dizionario dall'elenco di tuple. Restituisci il dizionario.

Di seguito è riportata l’implementazione dell’approccio di cui sopra:

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))>

>

>

Produzione

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

Complessità temporale: SU)
Spazio ausiliario: O(n) (per memorizzare l'elenco delle tuple)