Lorsque vous exécutez le bloc IPython avec une variable avec un dictionnaire, par exemple:Comment puis-je ne pas mettre en cache les variables IPython?
In[7]: test_dict = {'key_1': 1.8529757571664867,
'key_2': 1.551270403313663,
'key_3': 0.8213399558579995}
et la fonction:
In[8]: def rename_keys(inp_dict, add):
for k, v in sorted(inp_dict.items()):
inp_dict[k + add] = inp_dict.pop(k)
return inp_dict
In[9]: rename_keys(test_dict, '_W')
IPython imprimera le résultat attendu:
Out[9]: {'key_1_W': 1.8529757571664867,
'key_2_W': 1.551270403313663,
'key_3_W': 0.8213399558579995}
Mais, par exemple, si je voulais changer la fin de "_W" en "_K", alors quand je change et redémarre le bloc, j'obtiens l'ancienne variable avec le déjà changé d + nouvelle fin:
In[10]: rename_keys(test_dict, '_K')
Out[10]: {'key_1_W_K': 1.8529757571664867,
'key_2_W_K': 1.551270403313663,
'key_3_W_K': 0.8213399558579995}
Comment faire pour exécuter un bloc-notes à partir de zéro?
Bien sûr, il est logique et évident que les appels suivants signifient un objet déjà changé, mais puis-je faire en sorte que quand je change dans
In [9]
J'ai la sortieOut [9]
?