Come convertire una lista in un dizionario usando Python

13/12/2022 in News di sebadima2 minuti

Come scrivere un programma Python per convertire l’elenco dato in un dizionario in modo tale che tutti gli elementi dispari abbiano la chiave e gli elementi numerici pari abbiano il valore. Poiché il dizionario Python non è ordinato, l’output può essere in qualsiasi ordine.

Esempio

Ingresso: [‘a’, 1, ‘b’, 2, ‘c’, 3] Uscita: {‘a’: 1, ‘b’: 2,’ c’: 3} Spiegazione: Nell’input abbiamo una lista di elementi che poi viene convocata in coppie di valori chiave di dictonary nell’output Convertire una lista in Dizionario Python Di seguito sono riportati i metodi che tratteremo in questo articolo:

Utilizzo di un loop Utilizzo della comprensione dict Utilizzo del metodo zip () Utilizzo della funzione Lambda Utilizzando lista comprensione e Slicing Utilizzo di Itertools Convertire un elenco in un dizionario utilizzando un ciclo Questo metodo funziona inizializzando un dizionario vuoto e quindi iterando 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, il dizionario viene restituito come risultato.

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

Elenco di conversazione dizionario utilizzando dict comprensione

List to Dictionary Conversation using dict Comprehension

Per convertire una lista in dizionario, possiamo usare la comprensione dict e creare una coppia key: value di elementi consecutivi. Infine, typecase l’elenco di tipo dict.


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

Convertire un elenco in un dizionario usando il zip()

Per prima cosa crea un iteratore e inizializzalo nella variabile “it”. Quindi utilizzare il metodo zip, per comprimere chiavi e valori insieme. Infine typecast a dict tipo.

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

Conversione di un dizionario utilizzando la funzione Lambda

In primo luogo, creare una matrice di chiavi e valori utilizzando array slicing. Quindi utilizzare il metodo map con lambda per formare array di tuple con valore chiave paris. Infine typecast a dict tipo.

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


Robotdazero.it - post - R.135.0.8.0