Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2560 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  question a propos de split , "noob inside"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question a propos de split , "noob inside"

n°685472
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 08:08:59  profilanswer
 

:hello: ,
 
jai un fichier txt que j ai copie dans un string  
ensuite je split cette string .

Code :
  1. list = txt.split()


qui me renvoie une list avec tout les "mots" separe par un espace.
j aimerai qu il me separe bein les mots , enlevant les . " } { / * - # $ ect ...
 
comment faire ?
 

Code :
  1. #get the current path
  2. import os
  3. rep_cour = os.getcwd()
  4. file = open('input.txt', 'r')
  5. #variables
  6. linecount = 0
  7. #creation of the dictionary
  8. words = { }
  9. #count lines
  10. for line in file.readlines():
  11.     linecount +=1
  12. print linecount
  13. file.seek(0)
  14. txt = file.read()
  15. list = txt.split(" " )
  16. for word in list :
  17.     if words.has_key( word ) :
  18.         words[ word ] += 1
  19.     else :
  20.         words[ word ] = 1
  21. for key in words:
  22.     count = words[key] 
  23.     print "%s : %s ." % (key, count)


 :)

mood
Publicité
Posté le 27-03-2004 à 08:08:59  profilanswer
 

n°685494
Taz
bisounours-codeur
Posté le 27-03-2004 à 10:07:47  profilanswer
 

for line in file.readlines():
   linecount +=1
print linecount  
 
=>
 
count =  len(fd.readlines()) # file est un mot-clef réservé
 
 
for word in list :
   if words.has_key( word ) :
       words[ word ] += 1
   else :
       words[ word ] = 1  
 
=>
 
for word in l: # list est un mot clef réservé
   words.setdefault(words, 0) += 1
 
 
 
 
sinon pour ton split -> ben tu fais autant de split que de caractères, sinon tu utilises une expression régulière


Message édité par Taz le 27-03-2004 à 10:08:30
n°685521
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 11:16:48  profilanswer
 

for word in l: # list est un mot clef réservé
   words.setdefault(words, 0) += 1
 
 
***cant assigne to function call (...,lign 24)

n°685522
Taz
bisounours-codeur
Posté le 27-03-2004 à 11:19:00  profilanswer
 

ah oui, oups
 
 
words[word] = words.get(word, 0) + 1

n°685534
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 11:56:11  profilanswer
 

ca marche mais je comprend pas la syntaxe.
words[word] = words.get(word, 0) + 1
tu peus detaile un peu stp ?

n°685535
Taz
bisounours-codeur
Posté le 27-03-2004 à 12:00:31  profilanswer
 

ben help(dict)

n°685538
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 12:02:37  profilanswer
 

....

n°685566
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 13:17:29  profilanswer
 

c est bon j ai trouve dans aprendre a programmer avec python.
 
j essaye d utiliser les expresions reguliere pour selectione les mots a la place de ca ;)
 

Code :
  1. alpha = "abcdefghijklmnopqrstuvwxyzéèàùçâêîôûäëïöü"
  2. lettres = ''         
  3. for c in txt:
  4.     c = c.lower()     
  5.     if c in alpha:
  6.         lettres = lettres + c
  7.     else:
  8.         lettres = lettres + ' '
  9. list = lettres.split()


 
j ai commence :

Code :
  1. import re
  2. p = re.compile('\w')
  3. p.findall(txt)


ca me renvoie une list avec tous les char corespondant.
mais comment ecrire un er qui me renvoie les mots ?
donc des lettres entre 2 espaces ou autre caracter non alphanum.

n°685568
Taz
bisounours-codeur
Posté le 27-03-2004 à 13:19:08  profilanswer
 

\w+
 
sinon tes constantes, elle sont déjà dans le module string

n°685574
chaica
Posté le 27-03-2004 à 13:21:43  profilanswer
 

J'ai trouvé ça pas mal pour apprendre les regexp.  
http://www.p3b.org/tutor/oli/pytho [...] exp/a02exo
 
Utilise kodos pour vérifier tes regex

mood
Publicité
Posté le 27-03-2004 à 13:21:43  profilanswer
 

n°685585
xiluoc
un pc pour les unirs ....
Posté le 27-03-2004 à 13:43:58  profilanswer
 

super sa marche :), je trouve python un peu ... special, surement par ce que c est mon premier language script.

n°685590
Taz
bisounours-codeur
Posté le 27-03-2004 à 14:05:35  profilanswer
 

putain mais arrêter avec le script
 
y a pas de script ou autre ... y a des interpréteurs C boirdel :o:o::o:o:o:o:o:o:o:o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  question a propos de split , "noob inside"

 

Sujets relatifs
une petite question bete sur les formulaires...Petite question sur formulaire ..
Batch DOS - question pour effacer le contenu d'un fichier Host ?acces et vb petite question ^^
Question sur la programmation QTJavascript : question bete mais ...
Ne posez plus de question!!!![Question] MySQL / C++ / portabilité
[php] qq question sur php (voir fin topic)Probleme ! C inside
Plus de sujets relatifs à : question a propos de split , "noob inside"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR