Message posté par : Mathieu CHAILLOUX
----------------------------------------
Bonjour,
Quelques remarques tout d'abord :
- si la structure est un dictionnaire, autant l'appeler dict plutôt que List
- par convention le nom d'une variable doit commencer par une minuscule (enfin
c'est mieux)
- faites attention à votre indentation quand vous postez du code, le else est décalé et
peut s'appliquer au if ou au for
- dans un dictionnaire, la clé est unique et permet d'accéder à la valeur,
l'avantage de cette structure est d'accéder rapidement à la valeur en connaissant
la clé, ce n'est donc pas forcément une bonne idée de vouloir séparer la clé en 2
parties (couche / champ)
Maintenant pour répondre à vos interrogations, le if ne fonctionne pas car vous testez
s'il existe une clé k telle que k = 'BDI_PLU' or toutes les clés sont des
tuples (couche,champ) donc structurellement différents.
Le for est effectivement à revoir car vous utilisez la variable 'clef' avant de la
définir.
Une idée de code (en remplaçant List par dict) :
-----------------
Code :
for (k_layer, k_field), v in dict.items():
if k_layer == ca.name():
orapport.write(v)
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=322424#p322424
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net