/ / Converti dizionario di elenchi in dizionario di tuple - python, lista, dizionario, tuple, riformattazione

Converti dizionario di liste in dizionario di tuple - python, lista, dizionario, tuple, riformattazione

Ciao a tutti sono abbastanza nuovo per Python (cosìperdonami se questa è una domanda semplice) e lavorando su multiprocessing con un algoritmo k-means ma sto avendo un problema con la formattazione dei dati. Ho un dizionario di liste formattate in questo modo:

{0: [122.0, 0.000209], 1: [125.0, 0.000419], 2: [127.0, 0.000233], 3: [120.0, 0.000209], 4: [126.0, 0.000336]}

ma ho bisogno che sia un dizionario di tuple, quindi sembra che:

{0: (122.0, 0.000209), 1: (125.0, 0.000419), 2: (127.0, 0.000233), 3: (120.0, 0.000209), 4: (126.0, 0.000336)}.

So che puoi usare la funzione

tuple(list)

convertire una lista in una tupla ma sono sicuro di comeandare su iterando attraverso il dizionario e cambiando ogni voce in una tupla. Qualcuno ha qualche consiglio su come fare per fare questo? Ogni aiuto è apprezzato, grazie.

risposte:

4 per risposta № 1

Il modo ingenuo:

for key in dictionary:
dictionary[key] = tuple(dictionary[key])

o il modo leggermente più pulito ma per il resto completamente identico:

for key, value in dictionary.iteritems():
dictionary[key] = tuple(value)

o l'ultima rifusione come comprensione del dizionario per ancor più pulizia:

dictionary = {k: tuple(v) for k,v in dictionary.iteritems()}

dovrebbe essere sufficiente per questo particolare compito.

(In Python 3, usa dictionary.items() piuttosto che iteritems())