Ho un dizionario molto grande, forse circa 10,000 keys/values
e voglio modificare simultaneamente tutti i valori su 0
. Sono consapevole che posso scorrere e impostare tutti i valori su 0
ma ci vorrà per sempre. È comunque possibile che sia possibile contemporaneamente impostare tutti i valori su 0
?Sostituendo contemporaneamente tutti i valori di un dizionario a zero python
metodo Looping, molto lento:
#example dictionary
a = {'a': 1, 'c': 1, 'b': 1, 'e': 1, 'd': 1, 'g': 1, 'f': 1, 'i': 1, 'h': 1, 'k': 1,
'j': 1, 'm': 1, 'l': 1, 'o': 1, 'n': 1, 'q': 1, 'p': 1, 's': 1, 'r': 1, 'u': 1,
't': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1}
for key.value in a.items():
a[key] = 0
uscita:
{'a': 0, 'c': 0, 'b': 0, 'e': 0, 'd': 0, 'g': 0, 'f': 0, 'i': 0, 'h': 0, 'k': 0,
'j': 0, 'm': 0, 'l': 0, 'o': 0, 'n': 0, 'q': 0, 'p': 0, 's': 0, 'r': 0, 'u': 0,
't': 0, 'w': 0, 'v': 0, 'y': 0, 'x': 0, 'z': 0}
Avete profilato il codice e trovato che questo è il fattore limitante ? Un dizionario con articoli 10k non è molto grande. –
Non è tanto la dimensione quanto quante volte ho intenzione di scorrere i dizionari. L'ho programmato per scorrere quasi ogni secondo e inoltre, non ho uno ma più dizionari. – enginefree
È possibile impostare contemporaneamente tutti i valori su 0 se tutti i valori si trovano in un blocco di memoria continua. Non penso che tu possa farlo con il dict incorporato ... a meno che tu non crei il tuo dict implementando la propria struttura dati in C. –