j'ai une liste comme cela :
[('item1','valeur1'),('autreitem','autrevaleur')]
et je voudrais récuperer une liste :
['item1', 'autreitem']
vous pourriez me donner une indication ?
merci
--
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
Et si les valeurs des premiers éléments des tuples sont uniques...
on peut aussi faire : autreliste = dict(uneliste).keys()
J'avais envisagé de le signaler aussi, mais en l'occurrence je doute que ça apporte grand chose.
Evidemment, si l'OP a effectivement besoin de ce dict ailleurs dans son code - et si les deux solutions ci-dessus sont réunies - c'est autre chose...
Maric Michaud
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes en compréhension et du "tuple unpacking" (jamais su traduire ça en français, des suggestions ?) :
autreliste = [ first for first, second in uneliste]
-- _____________
Maric Michaud _____________
Aristote - www.aristote.info 3 place des tapis 69004 Lyon Tel: +33 426 880 097
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la
structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes
en compréhension et du "tuple unpacking" (jamais su traduire ça en
français, des suggestions ?) :
autreliste = [ first for first, second in uneliste]
--
_____________
Maric Michaud
_____________
Aristote - www.aristote.info
3 place des tapis
69004 Lyon
Tel: +33 426 880 097
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes en compréhension et du "tuple unpacking" (jamais su traduire ça en français, des suggestions ?) :
autreliste = [ first for first, second in uneliste]
-- _____________
Maric Michaud _____________
Aristote - www.aristote.info 3 place des tapis 69004 Lyon Tel: +33 426 880 097
Bruno Desthuilliers
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes en compréhension et du "tuple unpacking" (jamais su traduire ça en français, des suggestions ?) :
"dépaquetage de tuple" ? Hmmm... Non, j'abandonne.
autreliste = [ first for first, second in uneliste]
Dans ce cas (je veux dire, puisque second n'est pas utilisé), l'idiome serait plutôt:
[first for first, _ in aList]
Au niveau perfs, le second semble un peu plus rapide (python 2.4.3 sous gentoo-linux sur un athlon xp1200 vieillissant):
Python 2.4.3 (#1, Mar 12 2007, 23:32:01) [GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
from timeit import Timer t1 = Timer('[item[0] for item in aList]', 'aList = [(i, "a") for i in range(1000)]')
t2 = Timer('[f for f, s in aList]', 'aList = [(i, "a") for i in range(1000)]')
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la
structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes
en compréhension et du "tuple unpacking" (jamais su traduire ça en
français, des suggestions ?) :
"dépaquetage de tuple" ? Hmmm... Non, j'abandonne.
autreliste = [ first for first, second in uneliste]
Dans ce cas (je veux dire, puisque second n'est pas utilisé), l'idiome
serait plutôt:
[first for first, _ in aList]
Au niveau perfs, le second semble un peu plus rapide (python 2.4.3 sous
gentoo-linux sur un athlon xp1200 vieillissant):
Python 2.4.3 (#1, Mar 12 2007, 23:32:01)
[GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on
linux2
Type "help", "copyright", "credits" or "license" for more information.
from timeit import Timer
t1 = Timer('[item[0] for item in aList]', 'aList = [(i, "a") for i
in range(1000)]')
t2 = Timer('[f for f, s in aList]', 'aList = [(i, "a") for i in
range(1000)]')
C'est un peu réchauffé mais bon... je me baladait sur le groupe.
Bruno Desthuilliers wrote:
autreliste = [item[0] for item in uneliste]
J'ai tendance à préfèrer la notation suivante, je trouve qu'on lit mieux la structure de uneliste, pour peu qu'on ai suffisamment l'habitude des listes en compréhension et du "tuple unpacking" (jamais su traduire ça en français, des suggestions ?) :
"dépaquetage de tuple" ? Hmmm... Non, j'abandonne.
autreliste = [ first for first, second in uneliste]
Dans ce cas (je veux dire, puisque second n'est pas utilisé), l'idiome serait plutôt:
[first for first, _ in aList]
Au niveau perfs, le second semble un peu plus rapide (python 2.4.3 sous gentoo-linux sur un athlon xp1200 vieillissant):
Python 2.4.3 (#1, Mar 12 2007, 23:32:01) [GCC 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
from timeit import Timer t1 = Timer('[item[0] for item in aList]', 'aList = [(i, "a") for i in range(1000)]')
t2 = Timer('[f for f, s in aList]', 'aList = [(i, "a") for i in range(1000)]')