Supprimer un élement d'une liste de dictionnaire via un combobox
Résolu
xunil2003
-
xunil2003 Messages postés 765 Date d'inscription Statut Membre Dernière intervention -
xunil2003 Messages postés 765 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant python 2.7.6.
Je cherche à supprimer un element de ma liste de dictionnaire via un combobox.
L'utilisateur sélectionne le numéro dans le combobox qui est transmise ici :
Mais j'obtiens ce message d'erreur :
Code :
Comment dois-je procéder pour faire passer la valeur de la variable ?
Pouvez-vous m'aiguiller ?
Merci.
Je suis débutant python 2.7.6.
Je cherche à supprimer un element de ma liste de dictionnaire via un combobox.
[{'nom': 'Dupont', 'prenom': 'Laurent', 'telephone': '077700110033', 'civilite': 'Monsieur', 'password': 'ztPyAhxedMxzzo', 'identifiant': '44385201'}, {'nom': 'Dupont', 'prenom': 'Nathalie', 'telephone': '06160338822', 'civilite': 'Madame', 'password': 'Bk99NIOps1Zkzn', 'identifiant': '24608969'}]
L'utilisateur sélectionne le numéro dans le combobox qui est transmise ici :
del liste[combo_del_contact.get()]
Mais j'obtiens ce message d'erreur :
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1489, in __call__
return self.func(*args)
File "/home/laurent/python/fmsms/test_8.py", line 573, in valider_supprimer_dico
del liste[combo_del_contact.get()] # supprime un élément d'une liste à une indice déterminé (N° id de la liste).
TypeError: list indices must be integers, not str
Code :
def supprimer_dico():
global combo_del_contact
filewin = Toplevel(root)
compte_liste_agenda = len(agenda)
print compte_liste_agenda
liste_numero_contact = []
i = 0
while i < compte_liste_agenda:
liste_numero_contact.append(i)
i += 1
print "liste_numero_contact :", liste_numero_contact
Label(filewin, text="Veuillez selectionner le numéro du contact à supprimer ").grid(row=1, padx =14, pady =6)
combo_del_contact = Pmw.ComboBox(filewin, labelpos = NW,
scrolledlist_items = liste_numero_contact,
listheight = 150)
combo_del_contact.grid(row =2, padx =8, pady =6)
bou = Button(filewin, text ="Fermer", command = filewin.destroy)
bou.grid(row =3, padx =10, pady =6)
bou = Button(filewin, text ="Valider", command = valider_supprimer_dico)
bou.grid(row =4, padx =20, pady =16)
def valider_supprimer_dico():
global agenda
for index, agendas in enumerate(agenda):
print index, agendas
liste.append(agendas)
del liste[combo_del_contact.get()] # supprime un élément d'une liste à une indice déterminé (N° id de la liste).
print liste
Comment dois-je procéder pour faire passer la valeur de la variable ?
del liste[combo_del_contact.get()]
Pouvez-vous m'aiguiller ?
Merci.
A voir également:
- Supprimer un élement d'une liste de dictionnaire via un combobox
- Supprimer rond bleu whatsapp - Guide
- Liste déroulante excel - Guide
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Supprimer une page word - Guide
- Impossible de supprimer un fichier - Guide