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:
- Usare un ciclo continuo
- Utilizzando Comprensione diretta
- Utilizzando cerniera lampo() Metodo
- Utilizzando Funzione Lambda
- Utilizzando Comprensione delle liste E Affettare
- Utilizzando Itertools
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)