begin process at 2008 08 29 04:03:27
1 233 495 membres
36 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : coversion string<-->list [ Archives / Au secours !!! ] (john491)

coversion string<-->list le 04/05/2006 13:27:01

john491
Bonjour a tous.
Je dois creer une petite bibliotheque sur les polynomes ( donc j'ai pas le droit d'utiliser les fonctions predefinies sur les polynomes :( )
Et ce qui me bloque est d'ecrire une fonction qui transforme une chaine de caracteres en une liste par exemple : pour la chaine '2x^7-36x^2+6x+1' la fonction doit renvoyer la liste : [1,6,-36,0,0,0,0,2] ( ou [2,0,0,0,0,-36,6,1])
J'ai ecrit une fonction (mais qui ne marche pas malheureusement :( )


from string import *
>>> l='2x^7-36x^2+6x+1'
>>> y=split(l,'+')
>>> y
['2x^7-36x^2', '6x', '1']
>>> x=[split(y[i],'-') for i in range(len(y))]
>>> x
[['2x^7', '36x^2'], ['6x'], ['1']]
>>> t=[x[i][j] for i in range(len(x)) for j in range(len(x[i]))]
>>> t
['2x^7', '36x^2', '6x', '1']
>>> z=[split(t[i],'x') for i in range(len(t)) ]
>>> z
[['2', '^7'], ['36', '^2'], ['6', ''], ['1']]
>>> s=[z[i][j] for i in range(len(z)) for j in range(len(z[i]))]
>>> s
['2', '^7', '36', '^2', '6', '', '1']
>>> f=[split(s[i],'^') for i in range(len(s)) ]
>>> f
[['2'], ['', '7'], ['36'], ['', '2'], ['6'], [''], ['1']]
>>> for i in range(len(h)-1,-1,-1):
if h[i]=='':
del(h[i])
#ou encore (equivalent)
>>> b=[]
>>> for i in range(len(h)):
if h[i]!='':
b=b+[h[i]]
>>> b
['2', '7', '36', '2', '6', '1']

Ca me permet de recuperer les coefficients et les puissances mais je perds le signe des coefficients a la fin (le signe ' - ' )
Toutes les indications sont les bienvenues.
Merci d'avance.
PS1:Je dois rendre mon projet dans peux de jours.
PS2:Je ne suis que debutant en Python.

Re : coversion string<-->list le 04/05/2006 17:04:56

taz_iup
Utilise les expressions régulière.
par exemple

en faisant des groupes dans ton expression régulière tu pourras facilement récupérer les informations qui te sont nécéssaires.

Re : coversion string<-->list le 05/05/2006 16:06:07

john491
Salut taz_iup.
c'est quoi une expression reguliere en python?
merci


Classé sous : 2x, for, range, in, len

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS