Bonjour,
le titre ne devant pas être très explicite je précise mon problème du début :
le script sur lequel je suis en train de travailler a pour but :
- de faire une requête dans une base de données (sqlite)
- d'écrire une "fiche" en html avec les éléments récupérés par la requête.
Rien de bien compliqué donc sauf que dans ma base de données il y a des attributs qui ne sont parfois pas renseignés et j'aimerais que ma fiche html ne contienne que les champs pour lesquels des attributs sont renseignés.
exemple :
liste_exemple=[["attribut0","attribut1","","attribut3","",""],["attribut0","attribut1","","attribut3","","attribut5"],["","attribut1","","attribut3","","attribut5"]]
dans cette liste de liste, seuls attribut2 et attribut4 ne sont jamais renseignés.
je cherche à écrire une fonction qui me retournerait les index de ces attributs vides. Ex : a_supprimer=[2,4]
j'y suis parvenu d'une façon pas très propre (voir le code ci-dessous) mais j'aimerais faire une fonction qui marcherait avec n'importe qu'elle liste de liste. Je n'arrive pas à voir comme cela est faisable. avez-vous une idée??
Voici le code actuel :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 liste_exemple=[["attribut0","attribut1","","attribut3","",""],["attribut0","attribut1","","attribut3","","attribut5"],["","attribut1","","attribut3","","attribut5"]] attrib_list=[] attribut0,attribut1,attribut2,attribut3,attribut4,attribut5=[],[],[],[],[],[] for elem in liste_exemple: attribut0.append(elem[0]) attribut1.append(elem[1]) attribut2.append(elem[2]) attribut3.append(elem[3]) attribut4.append(elem[4]) attribut5.append(elem[5]) attrib_list.append(attribut0) attrib_list.append(attribut1) attrib_list.append(attribut2) attrib_list.append(attribut3) attrib_list.append(attribut4) attrib_list.append(attribut5) a_garder=[] a_supprimer=[] n=0 for list_ind in attrib_list: test='' for elem in list_ind: test=test+elem if test != "": a_garder.append(n) # colonnes non vides else: a_supprimer.append(n) # colonnes vides n+=1 print a_garder,a_supprimer
Merci d'avance!
Bonne après-midi!