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
moky
fred ha scritto:
Bonjour,
Comment, de la chaîne de caractères "[a, b], [c, d]" obtenir la liste [[a, b], [c, d]] ?
Merci d'avance.
Cdlt.
Cela a été discuté ici http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/963bf3e15ca64886/36f3c887a660f91f?hl=fr&lnk=gst&q=moky#36f3c887a660f91f
J'ai également tapé ce petit code, qu'il faut utiliser de façon récursive :
def StringToListe(ch): chaine = ch.replace(" ","") niveau = 0 liste = [] a = "" for c in chaine : a = a+c if c == "]" : niveau = niveau - 1 if c == "," and niveau == 1: liste.append(a[0:len(a)-1]) a="" if c == "[" : niveau = niveau + 1 liste.append(a[0:len(a)-1]) # On ne prend pas le dernier ] liste[0] = liste[0][1:len(liste[0])] # Pour enlever le premier [ return liste
Bonne aprème Laurent
fred ha scritto:
Bonjour,
Comment, de la chaîne de caractères
"[a, b], [c, d]"
obtenir la liste
[[a, b], [c, d]]
?
Merci d'avance.
Cdlt.
Cela a été discuté ici
http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/963bf3e15ca64886/36f3c887a660f91f?hl=fr&lnk=gst&q=moky#36f3c887a660f91f
J'ai également tapé ce petit code, qu'il faut utiliser de façon récursive :
def StringToListe(ch):
chaine = ch.replace(" ","")
niveau = 0
liste = []
a = ""
for c in chaine :
a = a+c
if c == "]" : niveau = niveau - 1
if c == "," and niveau == 1:
liste.append(a[0:len(a)-1])
a=""
if c == "[" : niveau = niveau + 1
liste.append(a[0:len(a)-1]) # On ne prend pas le dernier ]
liste[0] = liste[0][1:len(liste[0])] # Pour enlever le premier [
return liste
Comment, de la chaîne de caractères "[a, b], [c, d]" obtenir la liste [[a, b], [c, d]] ?
Merci d'avance.
Cdlt.
Cela a été discuté ici http://groups.google.fr/group/fr.comp.lang.python/browse_thread/thread/963bf3e15ca64886/36f3c887a660f91f?hl=fr&lnk=gst&q=moky#36f3c887a660f91f
J'ai également tapé ce petit code, qu'il faut utiliser de façon récursive :
def StringToListe(ch): chaine = ch.replace(" ","") niveau = 0 liste = [] a = "" for c in chaine : a = a+c if c == "]" : niveau = niveau - 1 if c == "," and niveau == 1: liste.append(a[0:len(a)-1]) a="" if c == "[" : niveau = niveau + 1 liste.append(a[0:len(a)-1]) # On ne prend pas le dernier ] liste[0] = liste[0][1:len(liste[0])] # Pour enlever le premier [ return liste
Bonne aprème Laurent
fred
moky a écrit :
Cela a été discuté ici
Merci.
Ça m'a donné l'idée de me faire mon propre truc à moi que j'ai :-)
#! /usr/bin/env python
a = '[1, 2], [3, 4]'
print 'a =', a
l = [] delim = '[]' c = a.find(delim[0]) while (c > -1): d = a[c+1:].find(delim[1]) + c l.append(map(float, a[c+1:d+1].split(','))) a = a[d+1:] c = a.find(delim[0]) print l
Cdlt.
-- Fred
moky <moky.math@gmail.com> a écrit :
Cela a été discuté ici
Merci.
Ça m'a donné l'idée de me faire mon propre truc à moi que j'ai :-)
#! /usr/bin/env python
a = '[1, 2], [3, 4]'
print 'a =', a
l = []
delim = '[]'
c = a.find(delim[0])
while (c > -1):
d = a[c+1:].find(delim[1]) + c
l.append(map(float, a[c+1:d+1].split(',')))
a = a[d+1:]
c = a.find(delim[0])
print l
Ça m'a donné l'idée de me faire mon propre truc à moi que j'ai :-)
#! /usr/bin/env python
a = '[1, 2], [3, 4]'
print 'a =', a
l = [] delim = '[]' c = a.find(delim[0]) while (c > -1): d = a[c+1:].find(delim[1]) + c l.append(map(float, a[c+1:d+1].split(','))) a = a[d+1:] c = a.find(delim[0]) print l
Cdlt.
-- Fred
Méta-MCI \(MVP\)
Salut !
Louque hi-heure :
a=1 b=2 c=3 d=4 s="[a, b], [c, d]"
l=eval('[%s]' %s) print l # ==> [[a, b], [c, d]]
exec('l=[%s]'%s) print l # ==> [[a, b], [c, d]]
l=eval(s) print l # ==> ([a, b], [c, d]) (tuple, par implicitation)
exec('l=%s'%s) print l # ==> ([a, b], [c, d]) (tuple, par implicitation)
l=list(eval(s)) print l # ==> [[a, b], [c, d]]
-- @-salutations -- Michel Claveau
Salut !
Louque hi-heure :
a=1
b=2
c=3
d=4
s="[a, b], [c, d]"
l=eval('[%s]' %s)
print l # ==> [[a, b], [c, d]]
exec('l=[%s]'%s)
print l # ==> [[a, b], [c, d]]
l=eval(s)
print l # ==> ([a, b], [c, d]) (tuple, par implicitation)
exec('l=%s'%s)
print l # ==> ([a, b], [c, d]) (tuple, par implicitation)