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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!