perdu dans les listes et les dictionnaires (encore)
3 réponses
Philippe Makowski
Bonjour,
j'ai décidément du mal, voilà mon mon problème :
j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ")
for row in cur_glob :
self.section[row[0]]=row
self.lb_section.Clear()
for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec :
[self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()]
je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code
'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est :
{u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')}
ma selection dans Listbox me retourne :
[u'A - libelle 1' , u'C - libelle 3']
et je veux écrire la chaine :
"('A', 'C')"
--
Philippe Makowski
Support et conseil pour Firebird : http://www.espelida.com
Firebird serveur SQL open-source en français http://firebird-fr.eu.org
Ma clé PGP : http://makowski.eu.org/pgpkey.html
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jerome
Philippe Makowski wrote:
Bonjour,
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"
"(%s)" % ','.join(["'%s'" % section[el][1] for el in sel])
u"('A','C')"
Philippe Makowski wrote:
Bonjour,
j'ai décidément du mal, voilà mon mon problème :
j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ")
for row in cur_glob :
self.section[row[0]]=row
self.lb_section.Clear()
for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec :
[self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()]
je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code
'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est :
{u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')}
ma selection dans Listbox me retourne :
[u'A - libelle 1' , u'C - libelle 3']
et je veux écrire la chaine :
"('A', 'C')"
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"
"(%s)" % ','.join(["'%s'" % section[el][1] for el in sel])
u"('A','C')"
Philippe Makowski
Philippe Makowski wrote:
Bonjour,
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"
j'ai décidément du mal, voilà mon mon problème :
j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ")
for row in cur_glob :
self.section[row[0]]=row
self.lb_section.Clear()
for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais
constituer une chaine que je pourrais utiliser plus loin dans une
instruction SQL
avec :
[self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()]
je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées
donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais
utiliser ailleurs dans le code
'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire
section
Merci
pour être plus précis par exemple mon dictionnaire section est :
{u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B -
libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')}
ma selection dans Listbox me retourne :
[u'A - libelle 1' , u'C - libelle 3']
et je veux écrire la chaine :
"('A', 'C')"
"(%s)" % ','.join(["'%s'" % section[el][1] for el in sel])
u"('A','C')"
Presque, merci
le problème dans ce cas est la virgule en trop au cas où l'utilisateur
n'a selectionné qu'une seule entrée
--
Philippe Makowski
Support et conseil pour Firebird : http://www.espelida.com
Firebird serveur SQL open-source en français http://firebird-fr.eu.org
Ma clé PGP : http://makowski.eu.org/pgpkey.html
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"
j'ai décidément du mal, voilà mon mon problème :
j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ")
for row in cur_glob :
self.section[row[0]]=row
self.lb_section.Clear()
for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais
constituer une chaine que je pourrais utiliser plus loin dans une
instruction SQL
avec :
[self.lb_section.GetString(idx) for idx in
self.lb_section.GetSelections()]
je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées
donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais
utiliser ailleurs dans le code
'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire
section
Merci
pour être plus précis par exemple mon dictionnaire section est :
{u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B -
libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')}
ma selection dans Listbox me retourne :
[u'A - libelle 1' , u'C - libelle 3']
et je veux écrire la chaine :
"('A', 'C')"
"(%s)" % ','.join(["'%s'" % section[el][1] for el in sel])
u"('A','C')"
Presque, merci
le problème dans ce cas est la virgule en trop au cas où l'utilisateur n'a
selectionné qu'une seule entrée
Pardon, non, c'est parfait
merci beaucoup !
--
Philippe Makowski
Support et conseil pour Firebird : http://www.espelida.com
Firebird serveur SQL open-source en français http://firebird-fr.eu.org
Ma clé PGP : http://makowski.eu.org/pgpkey.html
j'ai décidément du mal, voilà mon mon problème : j'ai un wx.ListBox rempli comme cela :
cur_glob.execute("SELECT DISTINCT C1, C2 FROM T1 ") for row in cur_glob : self.section[row[0]]=row self.lb_section.Clear() for k, v in self.section.iteritems(): self.lb_section.Append(k, v)
Ensuite en fonction de ce que les utilisateurs selectionnent, je voudrais constituer une chaine que je pourrais utiliser plus loin dans une instruction SQL
avec : [self.lb_section.GetString(idx) for idx in self.lb_section.GetSelections()] je récupére bien mes intitulés de la ListBox (qui sont aussi les entrées donc du dictionnaire section)
mais je voudrais écrire une chaine du genre "('A', 'C')" que je pourrais utiliser ailleurs dans le code 'A' et 'B' étant les valeurs correspondantes aux entrées du dictionnaire section
Merci
pour être plus précis par exemple mon dictionnaire section est : {u'A - libelle 1': (u'A - libelle 1', u'A') , u'B - libelle 2': (u'B - libelle 2', u'B'), u'C - libelle 3': (u'C - libelle 3', u'C')} ma selection dans Listbox me retourne : [u'A - libelle 1' , u'C - libelle 3'] et je veux écrire la chaine : "('A', 'C')"