J'ai utilisé des tableaux imbriqués analysés à partir d'un fichier json. Cela finit par donner une ligne gigantesque chaque fois que j'essaie d'accéder aux valeurs dans les données. Disons que j'ai un tableau imbriqué dans les données var, quand j'essaie d'atteindre les valeurs les plus profondes, je dois respecter la limite de 80 caractères. Tout ce que je veux faire, c'est lire ou modifier la valeur.Quel serait le moyen le plus optimisé pour accéder aux valeurs dans un tableau imbriqué tout en respectant pep8?
self.data["name1"]["name2"][varWithNumber][varWithNumber2][varWithNumber3]
Maintenant, je pensais à deux solutions possibles que je pourrais utiliser:
1- diviser en utilisant vars temporaires et reasign ensuite aux données une fois que je suis fait ex:
tempData=self.data["name1"]["name2"][varWithNumber]
tempData[varWithNumber2][varWithNumber3]+=1
self.data["name1"]["name2"][varWithNumber]=tempData
Je suppose que cette solution utiliserait pas mal de ressources de toute la mémoire copiée.
2- Utilisez la fonction exec mis en œuvre en python et diviser la chaîne sur plusieurs lignes:
exec ('self.data'+
'["name1"]'+
'["name2"]'+
'[varWithNumber]'+
'[varWithNumber2]'+
'[varWithNumber3]+=1')
Je ne sais pas comment optimiser est la fonction exec. Quelle serait la façon la plus pythonique/optimisée de faire cela? Existe-t-il une autre/meilleure façon d'atteindre l'objectif tout en respectant le pep8?
La façon dont je le vois, est que si vous exécutez quelque chose comme flake8 ou similaire, et les choses passent, vous êtes bien. Au-delà de ça, tout sera affaire d'opinion. – idjaw